Проверьте, установлен ли элемент в массиве, и проверьте на равенство.

Я где-то читал (возможно, здесь, в 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) {
   ....
 }

Я бы с осторожностью использовал @ - это может скрыть другие проблемы.

Другие вопросы по тегам