El uso de paréntesis en un lenguaje de programación o un lenguaje de script por lo general significa que se trata de una función.
Sin embargo, $_COOKIE
en php no es una función, es un Array. Para acceder a los datos en matrices, utiliza llaves cuadradas ('[' y ']') que simbolizan de qué índice obtener los datos. Así que al hacer $_COOKIE['test']
básicamente dice: "Dame los datos del índice 'prueba'.
Ahora, en tu caso, tienes dos posibilidades: (1) o quieres ver si es falso-- mirando dentro de la cookie o (2) ver si es ni siquiera existe.
Para ello, se utiliza la función isset que básicamente comprueba si la variable se establece o no.
Ejemplo
if (isset($_COOKIE['test']))
Y si usted quiere comprobar si el valor es falso y se establece que puede hacer lo siguiente:
if (isset($_COOKIE['test']) && $_COOKIE['test'] == "false")
Una cosa que se puede tener en cuenta es que si falla la primera prueba, que incluso no molesta comprobación la siguiente declaración si es Y (&&
).
Y para explicar por qué realmente obtienes el error "La función debe ser una cadena", mira this page. Se trata de la creación básica de funciones en PHP, lo que debes recordar es que una función en PHP solo puede contener ciertos tipos de caracteres, donde $
no es uno de estos. Dado que en PHP $
representa una variable.
Una función podría verse así: _myFunction _myFunction123 myFunction
y en muchos otros patrones también, pero mezclarlo con caracteres como $ y% no funcionará.
@anonymous Por qué el DV ? –
Debido a cómo funciona el sistema de votación. Las personas votaron por respuestas que consideran más relevantes y más útiles para la pregunta. Y la gente rechaza las respuestas que les parecen menos interesantes. Imagino que es por eso que fueron votados negativamente. –
@Filip Ekberg Eso es esclarecedor ... sería genial si estas almas anónimas dejaran un comentario sobre por qué ... pero supongo que no es una práctica muy extendida :) –