Использование скобок в языке программирования или языке сценариев обычно означает, что это функция.
Однако $_COOKIE
в php - это не функция, это Array . Для доступа к данным в массивах вы используете квадратные скобки ('[' и ']'), которые символизируют, по какому индексу получить данные. Таким образом, делая $_COOKIE['test']
, вы в основном говорите: «Дайте мне данные из индекса« test ».
»
Теперь, в вашем случае, у вас есть две возможности: (1) либо вы хотите узнать, ложно ли это, - заглянув внутрь куки, либо (2) посмотрите, нет ли его там.
Для этого вы используете функцию isset , которая в основном проверяет, установлена переменная или нет.
Пример
if ( isset($_COOKIE['test'] ) )
И если вы хотите проверить, установлено ли значение false и установлено ли оно, вы можете сделать следующее:
if ( isset($_COOKIE['test']) && $_COOKIE['test'] == "false" )
Одна вещь, которую вы можете иметь в виду, это то, что если первый тест не пройден, он даже не потрудится проверить следующий оператор, если он AND (&&
).
И чтобы объяснить, почему вы на самом деле получаете ошибку «Функция должна быть строкой», посмотрите на эту страницу . Речь идет о базовом создании функций в PHP, но вы должны помнить, что функция в PHP может содержать только определенные типы символов, где $
не является одним из них. Так как в PHP $
представляет переменную.
Функция может выглядеть следующим образом: _myFunction _myFunction123 myFunction
и во многих других шаблонах, но смешивание ее с символами, такими как $ и%, не будет работать.