Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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 将项添加到foreach内部的数组中_Php - Fatal编程技术网

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' => '',   
];