Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过键和值名称调用会话值_Php_Arrays_Session - Fatal编程技术网

Php 如何通过键和值名称调用会话值

Php 如何通过键和值名称调用会话值,php,arrays,session,Php,Arrays,Session,以下是我定义的会话: $_SESSION['addons'][] = array( 'addon' => $addon_id, 'quantity' => $qty, 'date_a' => $date_1, 'date_b' => $date_2, 'car_id' => $car_id, 'pickup' => $location, 'drop' => $d_location )

以下是我定义的会话:

$_SESSION['addons'][] = array(
   'addon'    => $addon_id,
   'quantity' => $qty,
   'date_a'   => $date_1,
   'date_b'   => $date_2,
   'car_id'   => $car_id,
   'pickup'   => $location,
   'drop'     => $d_location
);
我这样称呼它:

<?php
foreach($_SESSION['addons'] as $addon=>$add_val)
{
    //echo $addon;
    foreach($add_val as $value)
    {
        echo $value;
    }
}
?>
这样我就可以选择调用哪个值和不调用哪个值

我试过这样的方法:

//setting adon id as key and the rest as value  but doesn't work in the way I wanted.
$_SESSION['addons'][$addon_id] = array(
   'quantity' => $qty,
   'date_a'   => $date_1,
   'date_b'   => $date_2,
   'car_id'   => $car_id,
   'pickup'   => $location,
   'drop'     => $d_location
);

我猜您希望直接看到特定键的值。您可以初始化会话,如下所示:

$_SESSION['addons'] = array('addon'=>$addon_id,'quantity'=>$qty,'date_a'=>$date_1,'date_b'=>$date_2,'car_id'=>$car_id,'pickup'=>$location,'drop'=>$d_location);
然后,例如,如果希望回显键日期的值,可以执行以下操作:

echo $_SESSION['addons']['date_a'];
希望这有帮助

在代码中,add_val是每个插件的数组,因此echo add_val['addon'];将包含$addon\u id


你有你要去的地方,你只是走得有点太深了

你的第二个foreach正在做它应该做的事情-循环通过$add_val值变量中的键,并输出它找到的任何值。第二种方法为什么不起作用呢?我不知道您的应用程序的范围,但我通常建议使用对象而不是$SESSION变量来执行类似的操作;重复6次?如果它在第二个for循环内,则每次迭代都将调用它。把它放在你有//echo$addon的地方;我知道了…非常感谢
echo $_SESSION['addons']['date_a'];