Php 在会话变量中循环父数组
在测试代码以了解数组存储到会话变量时如何工作时,我制作了以下存储数组:Php 在会话变量中循环父数组,php,arrays,multidimensional-array,foreach,session-variables,Php,Arrays,Multidimensional Array,Foreach,Session Variables,在测试代码以了解数组存储到会话变量时如何工作时,我制作了以下存储数组: $id=17; //product #17 $_SESSION['cart']['items'][$id]=array( 'quantity'=>1, 'SKUNumber'=>'GL335-a', 'Name'=>'Widget', 'UnitPrice'=>14.95 ); $id=25; $_SESSION['cart']['items'][$id]=array(
$id=17; //product #17
$_SESSION['cart']['items'][$id]=array(
'quantity'=>1,
'SKUNumber'=>'GL335-a',
'Name'=>'Widget',
'UnitPrice'=>14.95
);
$id=25;
$_SESSION['cart']['items'][$id]=array(
'quantity'=>3,
'SKUNumber'=>'GL398-c',
'Name'=>'Mega-Widget',
'UnitPrice'=>34.95
);
$id=19;
$_SESSION['cart']['items'][$id]=array(
'quantity'=>1,
'SKUNumber'=>'GL335-a',
'Name'=>'Widget',
'UnitPrice'=>14.95
);
foreach($_SESSION['cart']['items'][25] as $key=>$value) // echo/loop all stored vaules in the item 25 array in session cart
{
// and print out the values
echo $key." | ".$value."<br />";
}
我对如何在项目级别循环使用Key>值感到困惑:
$id=17; //product #17
$_SESSION['cart']['items'][$id]=array(
'quantity'=>1,
'SKUNumber'=>'GL335-a',
'Name'=>'Widget',
'UnitPrice'=>14.95
);
$id=25;
$_SESSION['cart']['items'][$id]=array(
'quantity'=>3,
'SKUNumber'=>'GL398-c',
'Name'=>'Mega-Widget',
'UnitPrice'=>34.95
);
$id=19;
$_SESSION['cart']['items'][$id]=array(
'quantity'=>1,
'SKUNumber'=>'GL335-a',
'Name'=>'Widget',
'UnitPrice'=>14.95
);
foreach($_SESSION['cart']['items'][25] as $key=>$value) // echo/loop all stored vaules in the item 25 array in session cart
{
// and print out the values
echo $key." | ".$value."<br />";
}
foreach($_SESSION['cart']['items'][25]作为$key=>$value)//echo/loop SESSION cart中item 25数组中存储的所有值
{
//并打印出值
回声$key.“|”。$value.“
”;
}
正确生成存储在第25项中的数组的1次出现:
$id=17; //product #17
$_SESSION['cart']['items'][$id]=array(
'quantity'=>1,
'SKUNumber'=>'GL335-a',
'Name'=>'Widget',
'UnitPrice'=>14.95
);
$id=25;
$_SESSION['cart']['items'][$id]=array(
'quantity'=>3,
'SKUNumber'=>'GL398-c',
'Name'=>'Mega-Widget',
'UnitPrice'=>34.95
);
$id=19;
$_SESSION['cart']['items'][$id]=array(
'quantity'=>1,
'SKUNumber'=>'GL335-a',
'Name'=>'Widget',
'UnitPrice'=>14.95
);
foreach($_SESSION['cart']['items'][25] as $key=>$value) // echo/loop all stored vaules in the item 25 array in session cart
{
// and print out the values
echo $key." | ".$value."<br />";
}
- 数量| 3
- SKU编号| GL398-c
- 名称|巨型小部件
- 单价| 34.95
$id=17; //product #17
$_SESSION['cart']['items'][$id]=array(
'quantity'=>1,
'SKUNumber'=>'GL335-a',
'Name'=>'Widget',
'UnitPrice'=>14.95
);
$id=25;
$_SESSION['cart']['items'][$id]=array(
'quantity'=>3,
'SKUNumber'=>'GL398-c',
'Name'=>'Mega-Widget',
'UnitPrice'=>34.95
);
$id=19;
$_SESSION['cart']['items'][$id]=array(
'quantity'=>1,
'SKUNumber'=>'GL335-a',
'Name'=>'Widget',
'UnitPrice'=>14.95
);
foreach($_SESSION['cart']['items'][25] as $key=>$value) // echo/loop all stored vaules in the item 25 array in session cart
{
// and print out the values
echo $key." | ".$value."<br />";
}
数量:1 | SKU编号:GL335-a |名称:小部件|单价:14.95
数量:3 | SKU编号:GL398-c |名称:Mega Widget |单价:34.95
数量:1 | SKU编号:GL378-b |名称:超级小部件|单价:29.95
我显然是以错误的方式循环结果集,但不确定循环结果集的正确方式,以获得我想要的结果。谢谢您的帮助。试试
foreach($_SESSION['cart']['items'] as $id=>$arr) {
foreach ($arr as $key => $value) {
echo $key.":" .$value." | ";
}
echo "<br />";
}
foreach($\u会话['cart']['items']作为$id=>$arr){
foreach($arr作为$key=>$value){
echo$key.:“$value.|”;
}
回声“
”;
}
或
foreach($\u会话['cart']['items']作为$id=>$arr){
echo“数量:$arr['quantity']| SKUNumber:$arr['SKUNumber']|名称:$arr['Name']|单价:$arr['UnitPrice']
”;
}
试试
foreach($_SESSION['cart']['items'] as $id=>$arr) {
foreach ($arr as $key => $value) {
echo $key.":" .$value." | ";
}
echo "<br />";
}
foreach($\u会话['cart']['items']作为$id=>$arr){
foreach($arr作为$key=>$value){
echo$key.:“$value.|”;
}
回声“
”;
}
或
foreach($\u会话['cart']['items']作为$id=>$arr){
echo“数量:$arr['quantity']| SKUNumber:$arr['SKUNumber']|名称:$arr['Name']|单价:$arr['UnitPrice']
”;
}
试试
foreach($_SESSION['cart']['items'] as $id=>$arr) {
foreach ($arr as $key => $value) {
echo $key.":" .$value." | ";
}
echo "<br />";
}
foreach($\u会话['cart']['items']作为$id=>$arr){
foreach($arr作为$key=>$value){
echo$key.:“$value.|”;
}
回声“
”;
}
或
foreach($\u会话['cart']['items']作为$id=>$arr){
echo“数量:$arr['quantity']| SKUNumber:$arr['SKUNumber']|名称:$arr['Name']|单价:$arr['UnitPrice']
”;
}
试试
foreach($_SESSION['cart']['items'] as $id=>$arr) {
foreach ($arr as $key => $value) {
echo $key.":" .$value." | ";
}
echo "<br />";
}
foreach($\u会话['cart']['items']作为$id=>$arr){
foreach($arr作为$key=>$value){
echo$key.:“$value.|”;
}
回声“
”;
}
或
foreach($\u会话['cart']['items']作为$id=>$arr){
echo“数量:$arr['quantity']| SKUNumber:$arr['SKUNumber']|名称:$arr['Name']|单价:$arr['UnitPrice']
”;
}
您试图通过回显值来序列化数组,这就是为什么会出现警告和意外结果。尝试将$value作为一个数组处理,而不仅仅是回显它。或者在$value内循环尝试通过回显该值来序列化数组,这就是为什么会出现警告和意外结果。尝试将$value作为一个数组处理,而不仅仅是回显它。或者在$value内循环尝试通过回显该值来序列化数组,这就是为什么会出现警告和意外结果。尝试将$value作为一个数组处理,而不仅仅是回显它。或者在$value内循环尝试通过回显该值来序列化数组,这就是为什么会出现警告和意外结果。尝试将$value作为一个数组处理,而不仅仅是回显它。或者在$value内部循环谢谢你,我不得不用连接来回送它以通过语法检查,但它确实起了作用:foreach($\u SESSION['cart']['items']as$arr){echo“quantity:.$arr['quantity']。”;skumber:.$arr['skumnumber']。“;Name:.$arr['Name'.'Name']。”;单价:“$arr['UnitPrice'.
”
这不起作用,因为在foreach中分配给$arr的值现在是指向另一个数组的id<代码>[17]=>数组(…),[25]=>数组(…),[19]=>数组(…)
。您的代码将回显“数量:| SKUNumber:|名称:|单价:”谢谢,我必须用连接回显才能通过语法检查,但它确实起作用:foreach($|u SESSION['cart']['items']作为$arr){echo“数量:.$arr['quantity']。“| SKUNumber:.$arr['SKUNumber']。”名称:“.$arr['Name']。”单价:“$arr['UnitPrice'.
”)
这不起作用,因为在foreach中分配给$arr的值现在是指向另一个数组的id<代码>[17]=>数组(…),[25]=>数组(…),[19]=>数组(…)
。您的代码将回显“数量:| SKUNumber:|名称:|单价:”谢谢,我必须用连接回显才能通过语法检查,但它确实起作用:foreach($|u SESSION['cart']['items']作为$arr){echo“数量:.$arr['quantity']。“| SKUNumber:.$arr['SKUNumber']。”名称:“.$arr['Name']。”单价:“$arr['UnitPrice'.
”)
这不起作用,因为在foreach中分配给$arr的值现在是指向另一个数组的id<代码>[17]=>数组(…),[25]=>数组(…),[19]=>数组(…)
。您的代码将回显“数量:| SKUNumber:|名称:|单价:”谢谢,我必须用连接回显才能通过语法检查,但它确实起作用:foreach($|u SESSION['cart']['items']作为$arr){echo“数量:.$arr['quantity']。“| SKUNumber:.$arr['SKUNumber']。”名称:“.$arr['Name']。”单价:“$arr['UnitPrice'.
”)
这不起作用,因为在foreach中分配给$arr的值现在是指向另一个数组的id<代码>[17]=>数组(…),[25]=>数组(…),[19]=>数组(…)
。您的代码将回显“数量:| SKUNumber:|名称:|单价:”我假设通过在值内循环,您的意思是在
<?php
foreach($_SESSION['cart']['items'] as $arr)
{
echo "quantity: $arr['quantity'] | SKUNumber: $arr['SKUNumber']: GL378-b | Name: $arr['Name'] | UnitPrice: $arr['UnitPrice']";
}