2017-10-14 72 views
-1

在這裏我有一個數組從這個數組我想要取姓名&電子郵件,並將會話變量,我認爲使用foreach循環我們必須把會話變量我嘗試過但我不能夠?你可以請人更新我的答案如何從數組中取值並投入會話

的print_r($ USER_DATA);

Array 
(
    [id] => 1 
    [i_am] => Individual 
    [fullName] => Kanniyappan 
    [emailId] => [email protected] 
    [password] => welcome 
    [mobileNo] => 9986128665 
    [maxContactLeads] => 
    [otp] => 502649 
    [otpstatus] => Active 
    [createdOn] => 2017-10-14 20:24:18 
    [regStatus] => Active 
) 

我試圖

foreach ($user_data as $ukey => $uvalue) { 
        # code... 
        echo $uvalue['mobileNo']; 
       } 
+0

要訪問'mobileNo',你不需要'foreach'。只是'echo $ user_data ['mobileNo'];'你的foreach試圖獲得'$ user_data [1] ['mobileNo']','$ user_data ['Individual'] ['mobileNo']'等等 –

+0

你知道你可以將_whole_數組放入'$ _SESSION ['userData'] = $ user_data;'? – Jeff

回答

0

您可以指定數組值會話變量是這樣的:

$_SESSION['fullName'] = $user_data['fullName']; 
$_SESSION['emailId'] = $user_data['emailId']; 
1

好吧,我明白你正在嘗試做的;當您運行foreach循環時,您將分開$key$value;所以你必須採取一些不同的方法的問題的方法:

你可以嘗試簡單地分配$_SESSION值手動喜歡如下:

$_SESSION['email'] = $user_data['emailId']; 

這將等於你的$ _SESSION您emailId鍵的值。

您也可以運行一個foreach循環,並獲得關鍵的和值:

foreach ($user_data as $key => $value) { 
    $_SESSION[$key] = $value; 
} 

這將每個陣列值設置爲一個會話變量。並且您的輸出將爲您的數組中的每個值創建一個$ _SESSION值;您可以通過對if查詢和continue值不需要的值跳過循環中的某些值。

例如,在你的foreach循環中運行這樣的東西;這將跳過其中$key等於i_am值:從`$ user_data`

if ($key == 'i_am') 
{ 
    continue; 
}