Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.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 - Fatal编程技术网

Php 如何在数组中添加数组并调用它们

Php 如何在数组中添加数组并调用它们,php,arrays,Php,Arrays,下面是存储在会话中的数组。它工作得很好 $_SESSION['cart'][$sum_1]=array('car_id'=>$car_id,'location'=>$location,'dropoff'=>$d_location,'date_value'=>$date_value,'date_value_2'=>$date_value_2,'total_days'=>$total_days,'addon'=>$addon); ?> 我这样叫他们

下面是存储在会话中的数组。它工作得很好

$_SESSION['cart'][$sum_1]=array('car_id'=>$car_id,'location'=>$location,'dropoff'=>$d_location,'date_value'=>$date_value,'date_value_2'=>$date_value_2,'total_days'=>$total_days,'addon'=>$addon);
?>
我这样叫他们

 foreach($_SESSION['cart'] as $total=>$id)
 {
    echo $total;
    echo $id['addon'];
 }
现在,我想在上面的数组中添加另一个数组,将
date\u from
date\u to
作为 加载项项目(
$id['addon']

我如何才能做到这一点,然后根据
addon\u id
调用它们? 这是目前在阵列中存储加载项id的部分:

'addon'=>$addon
编辑

$_SESSION['cart'][$sum_1]=array('car_id'=>$car_id,'location'=>$location,'dropoff'=>$d_location,'date_value'=>$date_value,'date_value_2'=>$date_value_2,'total_days'=>$total_days,'addon'=>$addon,array('d_from'=>$date_from,'d_to'=>$date_to))
我以为日期已经在$addon中了。如果没有,您可以向已有的数组中添加一个变量,如

$_SESSION['cart'][$sum_1]=array('car_id'=>$car_id,'location'=>$location,'dropoff'=>$d_location,'date_value'=>$date_value,'date_value_2'=>$date_value_2,'total_days'=>$total_days,'addon'=>$addon,'dates'=> array('d_from'=>$date_from,'d_to'=>$date_to))


在这种情况下,您必须在第一个代码示例中将“addon”替换为“dates”。

这将为您提供所需的输出

foreach($_SESSION['cart'] as $total=>$id)
{
  if ($id['addon'] == $wanted_addon_to_add_dates) {
    $array['date_from'] = $date_from;
    $array['date_to'] = $date_to;
    $id[(whatever your want here)] = $array;
  }
}
这只是一个让你的代码更有意义的建议。 它将为您提供一个类似

array('var'=>value,…,array('addon'=>addon\u id,'date\u from'=>date\u from,'date\u to'=>date\u to))


请简要说明你想做什么do@Utkarsh我希望每个插件都有date_from和date_to,这样当它显示每个插件时,它也会显示date_from和date_to。请检查我的answer@clarkson是的,那是你在问题中写的,但是date_从哪里来,date_从哪里来?所需的数组输出是什么?您需要一个键,用于在编辑中添加到数组中的新元素。类似于
'addon\u dates'=>数组(…)
。但我仍然不明白为什么这应该是一个子数组,而不仅仅是第一个数组中的元素。
$dates = array('d_from'=>$date_from,'d_to'=>$date_to);
$_SESSION['cart'][$sum_1]=array('car_id'=>$car_id,'location'=>$location,'dropoff'=>$d_location,'date_value'=>$date_value,'date_value_2'=>$date_value_2,'total_days'=>$total_days,'addon'=>$addon,'dates'=> $dates)
foreach($_SESSION['cart'] as $total=>$id)
{
  if ($id['addon'] == $wanted_addon_to_add_dates) {
    $array['date_from'] = $date_from;
    $array['date_to'] = $date_to;
    $id[(whatever your want here)] = $array;
  }
}
foreach($_SESSION['cart'] as $total=>$id)
{
  if ($id['addon'] == $wanted_addon_to_add_dates) {
    $array['date_from'] = $date_from;
    $array['date_to'] = $date_to;
    $array['addon'] = $id['addon'];
    $id['addon'] = $array;
  }
}