В JavaScript можно проверить myObject.key
чтобы увидеть, есть ли значение (не определено) а также truthy.
if (myObject.key) ...
Есть ли эквивалент в PHP? Или я должен продолжать писать код, такой как isset(my_array['key']) && my_array['key']
добиться желаемого результата? Я чувствую, что это нарушает СУХОЙ и выглядит некрасиво.
В php есть три «уровня» проверки:
Проверяет, существует ли ключ в массиве. Возвращает true, даже если значение равно нулю
Проверьте, существует ли ключ и не является ли он нулевым. Возвращает true, если значение существует и не является нулевым, но это может быть bool (false), int (0), строка «» и т. Д.
Проверьте, существует ли ключ и является ли он верным, возвращает false для bool (false), int (0), несуществующих ключей и null, но true для bool (true), int (1), int (-1), строка с длина> 0 и так далее. На самом деле функция пуста (), но часто используется и отрицается. Это должно быть то, что вы ищете.
Вы можете использовать оператор подавления ошибок @:
if (@$_GET['fantasyvar']) {
//$_GET['fantasyvar'] is set and truthy
}
Обратите внимание: это не очень хороший стиль и сделает отладку более сложной для вас.