Php 将项添加到foreach内部的数组中
我想知道如何将项目添加到数组的末尾,我已经尝试了很多,但我做不到Php 将项添加到foreach内部的数组中,php,Php,我想知道如何将项目添加到数组的末尾,我已经尝试了很多,但我做不到 $arr = [ 'shopping_cart' => [ 'items' => [ 0 => [ 'item_id' => 22161, 'item_price' => 24.99, 'item_url' => '', ]
$arr = [
'shopping_cart' => [
'items' => [
0 => [
'item_id' => 22161,
'item_price' => 24.99,
'item_url' => '',
],
]
]
];
我试过使用这段代码,但不起作用,它不是添加新索引,而是在已经存在的索引中创建新索引
foreach($arr['shopping_cart']['items'] as $index => &$value) {
array_push($value, [$index => 'test']);
echo '<pre>';
print_r($value);
}
// Result in
Array
(
[item_id] => 1
[item_price] => 24.99
[item_url] =>
[0] => Array
(
[0] => test
)
)
// I want to create new index with different data, keeping the index that already exists.
Array
(
[item_id] => 1
[item_price] => 24.99
[item_url] =>
)
Array
(
[item_id] => 2
[item_price] => 34.99
[item_url] =>
)
foreach($arr['shopping_cart']['items']as$index=>&$value){
数组推送($value,[$index=>test']);
回声';
<?php
ini_set("display_errors", 1);
$arr = [
'shopping_cart' => [
'items' => [
0 => [
'item_id' => 22161,
'item_price' => 24.99,
'item_url' => '',
],
]]];
$arr['shopping_cart']['items'][]=array(
'item_id' => 22162,
'item_price' => 34.99,
'item_url' => '');
print_r($arr);
打印(价值);
}
//导致
排列
(
[项目id]=>1
[项目价格]=>24.99
[项目url]=>
[0]=>阵列
(
[0]=>测试
)
)
//我想用不同的数据创建新索引,保留已经存在的索引。
排列
(
[项目id]=>1
[项目价格]=>24.99
[项目url]=>
)
排列
(
[项目id]=>2
[项目价格]=>34.99
[项目url]=>
)
有人能解释一下我做错了什么吗?试试这个,希望这能帮到你。用于将新数据添加到索引
无需迭代数组,只需添加值:
更改array_push($value,[$index=>test'])代码>至$value[$index]=“测试”代码>请显示所需的输出。是否要在项_url之后添加新索引?它正在现有索引中创建新值,我要使用不同的数据创建新索引。我会编辑我的question@TomMoore是的,当然可以,说吧。。。使用预期的输出更新您的帖子。@TomMoore尝试一下,我已经更新了我的帖子。正在运行,但在foreach内部没有办法做到这一点?@TomMoore如果您在每个循环内部执行此操作,则会创建多个条目,如果您循环迭代多次。假设您有多个项目数据。
$arr['shopping_cart']['items'][] = [
'item_id' => 22162,
'item_price' => 34.99,
'item_url' => '',
];