【发布时间】:2019-03-06 17:38:04
【问题描述】:
我已经创建了一个会话数组,如下所示
$_SESSION['memberInfo']['memberFirstName'] = ($first_name);
$_SESSION['memberInfo']['memberLastName'] = ($surname);
$_SESSION['memberInfo']['hash'] = ($hash);
$_SESSION['memberInfo']['templateSrc'] = ($newTemplateSrc);
在我尝试从数组中获取值的其他页面中,我尝试了 foreach 和 while 循环但没有成功,我可以在 var_dump 中看到数组
var_dump($_SESSION['memberInfo']);
在控制台中显示为
array(4) {
["memberFirstName"]=>
string(8) "Geoffrey"
["memberLastName"]=>
string(6) "Turner"
["hash"]=>
string(60) "$2y$10$YBE1tc.BK7yq6bBr/JAlWuN0H8xGdoNSAWzU4/zfd1r3v7jprNBD2"
["templateSrc"]=>
string(61) "../userDirectory/558386500/html/Geoffrey_Turner_558386500.php"
}
在我尝试迭代我尝试使用的数组的页面中
foreach ($_SESSION['memberInfo'] as $name)
{
$first_name = $name['memberFirstName'];
}
我得到的回复显示为
警告:非法字符串偏移 'memberFirstName'
我认为这表明迭代正在读取一个空数组
我可以使用
回显数组foreach ($_SESSION['memberInfo'] as $key => $val) {
echo "$key = $val\n";
}
导致
memberFirstName = Geoffrey
memberLastName = Turner
hash = $2y$10$YBE1tc.BK7yq6bBr/JAlWuN0H8xGdoNSAWzU4/zfd1r3v7jprNBD2
templateSrc = ../userDirectory/558386500/html/Geoffrey_Turner_558386500.php
但对于我来说,我似乎无法弄清楚如何单独获取每个数组值并将它们分配给一个变量
【问题讨论】:
-
变量
$_SESSION['memberInfo']是一个数组,如您使用var_dump所示。foreach将像往常一样向下迭代该数组。您询问数组的“价值”一侧,但将其称为$name。要获取 $name 和 $value 您需要执行的操作:$_SESSION['memberInfo'] as $name => $value. -
@ Ryan Vincent 我确实尝试过,因为在 echo 中我可以看到使用 $key => $value 的对,我只是不知道如何单独获取它们并分配给变量