2012-04-03 6 views
1

Ich fragte mich, ob jemand mir zeigen könnte, wie dieses Array, das in einer Sitzung ist, suchen und sehen, ob es einen Wert enthält. Ich habe den folgenden Code veröffentlicht.Suche PHP-Sitzung für einen Wert

Vielen Dank.

$stack = array ('hello', 'world', 'where', 'are', 'money', 'chicken', 'run'); 

$_SESSION['user'] = $stack; 
if($_SESSION['user'] does not contain('myname')){ 
    echo 'no name'; 
    } 
+0

Ich bin verwenden nicht klar, auf was Sie versuchen, hier zu tun. Versuchen Sie nur festzustellen, ob ein Array einen bestimmten Wert enthält? Diese Frage bezieht sich nicht auf die Sitzung, sondern es passiert einfach, dass Ihr Array in der Sitzung gespeichert wird. –

Antwort

1

Verwenden in_array() Funktion

sucht haystack nach needle losem Vergleich mit, es sei denn streng festgelegt ist.

Beispiel:

if(!in_array('myname', $_SESSION['user'])) 
{ 
    //code to be executed if 'myname' is not in the array 
} 

else 
{ 
    //code to be executed if 'myname' is in the array 
} 

Auch könnte ich vorschlagen, dass Sie es so einfach machen?

session_start(); 

$_SESSION['user'] = array('hello', 'world', 'where', 'are', 'money', 'chicken', 'run'); 

if(!in_array('myname', $_SESSION['user'])) 
{ 
    //code to be executed if 'myname' is not in the array 
} 

else 
{ 
    //code to be executed if 'myname' is in the array 
} 
0
if(in_array('myvalue', $_SESSION['user'])){ 
    // $_SESSION['user'] contains 'myvalue' 
} else { 
    // $_SESSION['user'] does not contain 'myvalue' 
} 
0

können Sie PHP verwenden in_array() Funktion zu überprüfen, ob ein Wert in einem Array existiert.

Alternativ könnten Sie durch $ _SESSION ['user'] durchlaufen, um zu überprüfen, ob ein Wert in einem Array vorhanden ist.

2

Zuerst müssen Sie überprüfen, ob die Sitzungsvariable vorhanden ist, oder Sie werden einen Fehler ausgeben, dann können Sie mit der Funktion in_array nach der Zeichenfolge in der Variablen suchen.

if(isset($_SESSION['user'])): 
echo(in_array('my_name', $_SESSION['user'])); 
else: 
echo false; 
endif; 
0

können Sie in_array Funktion

$stack = array ('hello', 'world', 'where', 'are', 'money', 'chicken', 'run'); 

if (!in_array($_SESSION['user'], $stack)) { 

    echo 'no name'; 
} 
Verwandte Themen