2017-10-14 78 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; 
}