2015-05-13 6 views
5

ich, wenn diese if-Anweisung frage mich:PHP :: Der beste Weg, um herauszufinden, ob Sitzungsbeginn

if(session_id()===""){} 

entspricht diese if-Anweisung:

if(!session_id()){} 

Beide Werke für mich!

aber ich mag die Sorterlinie, also habe ich mich nur gefragt, ob es 100% gleichwertig ist und ich kann mich darauf verlassen, um festzustellen, ob die Sitzung gestartet wird.

+0

Der zweite wird nicht funktionieren, wenn Sie Session-ID * wäre * wie 0. Ich würde mit dem ersten bleiben – Rizier123

+0

Vielen Dank! Ich würde bei der ersten bleiben :-) –

Antwort

7

Diese Aussagen sind nicht vollständig äquivalent.

if(!session_id()){} bedeutet if(session_id() != TRUE){} so die session_id() Funktion 0 zurückkehren konnte, FALSE, '', NULL.

und if(session_id()===""){} wird überprüft, ob session_id() ist leer STRING Rückkehr, so dass die einzige Möglichkeit, für die die if Anweisung TRUE zurück, ist ''.

Von PHP Manual über session_id():

session_id() die Session-ID für die aktuelle Sitzung oder die leere Zeichenfolge ("") gibt, wenn es keine aktuelle Sitzung (keine aktuellen Sitzung id existieren) .

Also, ist es vorzuziehen, den 1. Weg zu verwenden.

Verwandte Themen