2010-01-03 2 views
0

Я пытаюсь найти номер ключа в массиве, соответствующем строке.Как искать ключ массива, сопоставляя строку в его значении

Я попытался array_search таким образом

$key = array_search("foo", $array); 
echo $array[$key]; 

но печатает $ массив [0]

Есть еще один способ сделать это?

Спасибо :)

+0

Вы ищете значение, * точно * совпадает с вашим строка поиска? Или ваша строка поиска может быть подстрокой нужного значения? Примерный массив, который будет использоваться в вашем примере поиска, будет полезен. –

ответ

2

Если ключ не найден, возвращает array_searchfalse. Вы должны проверить, что (строка 3 в моем примере ниже)

$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red'); 
$key = array_search("green", $array); //the $key will be "2" 
if ($key !== false) { 
    echo $array[$key]; 
} 

В противном случае, ваш код, кажется, делать то, что вам нужно. Если есть проблема, пожалуйста, напишите больше кода.

0

Я не совсем согласен со всей строкой, только одна часть, будет ли array_search работать?

Кстати я сделал петлю через массив с для каждого, что сделать preg_match до тех пор, пока не найдет строку, то разрывает петлю и хранить ключ в массиве

Смежные вопросы