Is there any function to query the array in PHP?
В PHP вы можете использовать функцию in_array()
(http://www.php.net/manual/en/function.in-array.php), чтобы проверить, существует ли какой-либо ключ, и array_search()
(http://www.php.net/manual/en/function.array-search.php), которыйвыполняет почти то же самое для функции in_array()
, но возвращает логическое значение массива вместо логического значения.
Они не будут запрашивать функцию mysql_query()
, но вы можете сделать что-то вроде этого:
function array_query($array,$what){
if(in_array($what, $array)){
return $array[array_search($what, $array)];
}
return false;
}
Надеюсь, эта работа для вас
РЕДАКТИРОВАТЬ: Я нашел array_search()
как для многомерных массивов (ваш пример), код выше, вам нужно только торговать намоя функция array_search($what, $array)
с функцией recursiveArraySearch($array,$what)
:
function recursiveArraySearch($haystack, $needle, $index = null)
{
$aIt = new RecursiveArrayIterator($haystack);
$it = new RecursiveIteratorIterator($aIt);
while($it->valid())
{
if (((isset($index) AND ($it->key() == $index)) OR (!isset($index))) AND ($it->current() == $needle)) {
return $aIt->key();
}
$it->next();
}
return false;
}