Utilizzando parentesi in un linguaggio di programmazione o di un linguaggio di scripting di solito significa che si tratta di una funzione.
Tuttavia $_COOKIE
in php non è una funzione, è un Array. Per accedere ai dati nelle matrici si usano le parentesi quadre ('[' e ']') che simboleggiano da quale indice ottenere i dati. Quindi, facendo $_COOKIE['test']
, stai praticamente dicendo: "Datemi i dati dall'indice 'test'.
Ora, nel tuo caso, hai due possibilità: (1) vuoi vedere se è falso-- cercando all'interno del biscotto o (2) se non è nemmeno lì.
Per questo, si utilizza la funzione isset che controlla fondo se la variabile è impostata oppure no.
Esempio
if (isset($_COOKIE['test']))
E se si desidera controllare se il valore è falso ed è impostato si può fare quanto segue:
if (isset($_COOKIE['test']) && $_COOKIE['test'] == "false")
Una cosa che si può tenere a mente è che se il primo test fallisce, non ci vorrà nemmeno il controllo la prossima dichiarazione se è E (&&
).
E per spiegare perché si ottiene effettivamente l'errore "La funzione deve essere una stringa", vedere this page. Riguarda la creazione di base di funzioni in PHP, quello che devi ricordare è che una funzione in PHP può contenere solo determinati tipi di caratteri, dove $
non è uno di questi. Poiché in PHP $
rappresenta una variabile.
Una funzione potrebbe essere simile a questa: _myFunction _myFunction123 myFunction
e in molti altri modelli, ma mescolandola con caratteri come $ e% non funzionerà.
fonte
2009-10-23 06:48:12
@anonymous Perché il DV ? –
A causa di come funziona il sistema di voto. Le risposte di persone in aumento trovano più pertinenti e più utili alla domanda. E le persone in basso votano le risposte che trovano meno interessanti. Immagino che sia per questo che sei stato down-votato. –
@Filip Ekberg Questo è illuminante ... sarebbe fantastico se questi anonimi anonimi lasciassero un commento sul perché ... ma immagino che non sia una pratica molto diffusa :) –