阵列:
Array
(
[Items] => Array
(
[0] => Array
(
[Item] => 211
[Unit] => 11
[Quantity] => 2
[GST] => True
)
[1] => Array
(
[Item] => 210
[Unit] => 11
[Quantity] => 1
[GST] => True
)
)
)
PHP:
foreach ($data['Items'] as $Item) {
array_push($Item, 'User' => 1);
}
您好,大家好,有人可以告诉我如何在多维数组中添加元素?
答案 0 :(得分:1)
你的循环有两个问题。
首先,这个语法array_push($Item, 'User' => 1);
是错误的,array_push为数组添加了一个值,而=>
只能在数组中使用。 <{1}}代替array_push
,您可以使用$arr[] = 'your value'
,结果将类似。
其次,要使$Item
变量在循环外保存附加值,您需要通过引用传递它,如下所示:
foreach ($data['Items'] as &$Item) {
$Item['User'] = 1;
}
答案 1 :(得分:0)
您必须使用[
]
访问数组,例如此代码使用键2插入新项目:
$data['Items'][] = array([Item] => 234
[Unit] => 22
[Quantity] => 3
[GST] => False);
或者,如果您需要为每个项添加元素:
foreach ($data['Items'] as $k)
{
$k[] = array([Item] => 234
[Unit] => 22
[Quantity] => 3
[GST] => False);
}
请点击此处了解详情:PHP's Arrays
答案 2 :(得分:0)
尝试这种方式:
<?php
$prod_id=1;$size="s";$colour="red";
$foo["cart"] = array (
1 => array (
array ('size'=>'S','color'=>'white')
,
array ('size'=>'M','color'=>'red')
),
2 => array (
array ('size'=>'S','color'=>'black')
,
array ('size'=>'XL','color'=>'royal')
)
);
array_push($foo["cart"][$prod_id], array ("quantity" => 1, "size" => $size, "colour" => $colour));
print_r($foo);
?>
答案 3 :(得分:-1)
你没有说出你想要的东西,但只是你可以这样添加
$array = Array
(
'Items' => Array
(
'0' => Array
(
"Item" => 211,
"Unit" => 11,
"Quantity" => 2,
"GST" => True
)
)
);
$array["Items"][0]["new_value"] = "Some Value";
echo "<pre>";
print_r($array);