[PHP]: Что возвращает array_search (), если ничего не найдено? - PullRequest
13 голосов
/ 06 апреля 2010

Что возвращает array_search (), если ничего не найдено?

Мне нужна следующая логика:

$found = array_search($needle, $haystack);

if($found){
  //do stuff
} else {
  //do different stuff
}

Ответы [ 5 ]

41 голосов
/ 06 апреля 2010

Цитирование справочной страницы array_search():

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


Это означает, что вы должны использовать что-то вроде:

$found = array_search($needle, $haystack);

if ($found !== false) {
    // do stuff
    // when found
} else {
    // do different stuff
    // when not found
}

Примечание. Я использовал оператор !==, который выполняет тип-чувствительное сравнение;см. Операторы сравнения , Тип Жонглирование и Преобразование в логическое для получения дополнительной информации об этом; -)

4 голосов
/ 06 апреля 2010

, если вы просто проверяете, существует ли значение, in_array - путь.

2 голосов
/ 27 февраля 2018

Согласно официальной документации на http://php.net/manual/en/function.array-search.php:

Предупреждение. Эта функция может возвращать логическое значение FALSE, но также может возвращать небулево значение, которое оценивается как ЛОЖЬ. Пожалуйста, прочитайте раздел Booleans для получения дополнительной информации. Используйте оператор === для тестирования возвращаемое значение этой функции.

См. Этот пример:

$foundKey = array_search(12345, $myArray);
if(!isset($foundKey)){
    // If $myArray is null, then $foundKey will be null too.
    // Do something when both $myArray and $foundKey are null.
} elseif ($foundKey===false) {
    // $myArray is not null, but 12345 was not found in the $myArray array.
}else{
    // 12345 was found in the $myArray array.
}
1 голос
/ 06 апреля 2010

array_search вернет FALSE, если ничего не найдено. Если он найдет иглу, он вернет ключ массива для иглы.

Более подробная информация по адресу: http://php.net/manual/en/function.array-search.php

1 голос
/ 06 апреля 2010

Из документов:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...