Проверьте, установлен ли элемент в массиве, и проверьте на равенство.
Я где-то читал (возможно, здесь, в SO), что есть встроенная функция PHP, которая является сокращением для проверки, установлен ли элемент в массиве, и затем проверяет его на равенство. Я понимаю, что могу легко воссоздать это с помощью следующего фрагмента, но мне было просто интересно, есть ли встроенный способ сделать это. Нет необходимости изобретать велосипед, но если это не изобретение, я думаю, что это ответ.
<?php
function item_equality(&$array, $key, $operand) {
return isset($array[$key]) && $array[$key] == $operand;
}
?>
2 ответа
Решение
Ах, это не функция, которую я искал, это оператор. Это оператор контроля ошибок. С вами можно использовать что-то вроде следующего.
<?php
if (@$array[$key] == $operand) {
// do stuff
}
?>
Я не уверен, что это именно то, что вы имеете в виду, но вы можете получить аналогичную функциональность, используя:
<?php
if (array_search($operand, $array) == $key) {
....
}
Я бы с осторожностью использовал @ - это может скрыть другие проблемы.