Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.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 如何为对象数组中的每个新数组设置id?_Php_Arrays_Foreach - Fatal编程技术网

Php 如何为对象数组中的每个新数组设置id?

Php 如何为对象数组中的每个新数组设置id?,php,arrays,foreach,Php,Arrays,Foreach,我有一组像这样的对象 [ { "name": "qwe", "password": "qwe" }, { "name": "qwe1", "password": "qwe1" } ] [ { "name": "qwe", "password": "qwe" "id":"0" }, { "name": "qwe1"

我有一组像这样的对象

[
    {
        "name": "qwe",
        "password": "qwe"
    },
    {
        "name": "qwe1",
        "password": "qwe1"
    }
]
[
    {
        "name": "qwe",
        "password": "qwe"
        "id":"0"
    },
    {
        "name": "qwe1",
        "password": "qwe1"
        "id":"1"
    }
]
我需要添加id每对名称和密码,它必须是这样的

[
    {
        "name": "qwe",
        "password": "qwe"
    },
    {
        "name": "qwe1",
        "password": "qwe1"
    }
]
[
    {
        "name": "qwe",
        "password": "qwe"
        "id":"0"
    },
    {
        "name": "qwe1",
        "password": "qwe1"
        "id":"1"
    }
]
我正在尝试使用foreach移动数组


我是php初学者,请帮帮我。我做错了什么?

当您使用:foreach$array as$key=>$value遍历数组时,$value将是原始对象的副本。更改副本对原始阵列没有影响

您需要确保更新原始值。有两种方法可以做到这一点

直接访问原始阵列:

使用&-符号的引用:


现在关键是什么?打印用户;foreach表达式中的id=>0是怎么回事?$i=0;foreach$users{$users[$user]=id=>$i;$i++;}@clearshot66变量$user来自哪里?您的示例有一些严重的语法错误。@clearshot66当然有$用户。但随后您加入了$user,它没有定义一些语法错误,比如只将一个数组传递给foreach和=id=>$i;谢谢你!
foreach ($users as $key => &$value) {
    // The & will make it a reference to the original value instead of a copy
    $value['id'] = $i;
    $i++;
}