2012-04-03 74 views
1

我想知道是否有人可以告訴我如何搜索會話中的這個數組,並查看它是否包含值。我已經發布了下面的代碼。搜索PHP會話的值

謝謝你。

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

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

我不清楚你正試圖在這裏做什麼。你只是想確定一個數組是否包含特定的值?這個問題與會話無關,只是你的數組存儲在會話中。 – 2012-04-03 14:54:43

回答

1

使用in_array()功能

搜索,除非嚴格設置爲使用比較寬鬆的草垛針。

例如:

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 
} 

而且,我可能會建議你只是做了這樣的嗎?

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

您可以使用php的in_array()函數來檢查數組中是否存在一個值。

或者,您可以循環$ _SESSION ['user']來檢查數組中是否存在值。

2

首先,您必須檢查會話變量是否存在,否則您將引發錯誤,然後您可以使用in_array函數檢查變量中的字符串。

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

你可以使用in_array功能

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

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

    echo 'no name'; 
}