我创建了一个会话数组,如下所示
$_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”
我认为这表明itteration正在读取一个空数组。
我可以使用
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但是,在我的生活中,我似乎不知道如何获得每个数组值,并将它们赋值给一个变量。
发布于 2015-05-17 17:31:29
你的前瞻是没有意义的,因为你循环一个单一的变量太多次,没有任何好处。因此,这是要删除的:
foreach ($_SESSION['memberInfo'] as $name =) {
$first_name = $name['memberFirstName'];
}你所需要的就是:
$first_name = $_SESSION['memberInfo']['memberFirstName'];发布于 2015-05-17 17:31:27
如何单独获取每个数组值并将它们赋值给一个变量
您可以使用extract提取每个值并将其赋值给一个变量。
extract($_SESSION['memberInfo']),这应该会创建以下变量
$memberFirstName,$memberLastName,$hash,$templateSrc
下面是一个演示http://ideone.com/XYpC7n
https://stackoverflow.com/questions/30289808
复制相似问题