【问题标题】:Pushing an associative array into another in PHP在 PHP 中将关联数组推入另一个数组
【发布时间】:2019-11-23 14:09:02
【问题描述】:

我是 PHP 和 JSON 的新手,我正在尝试使用 php 在运行时向 json 文件添加属性。

例如,json目前看起来是这样的:

[
    {
        "name":"john"
    },
    {
        "name": "james"
    }
]

然后我希望能够(使用 php)引用该文件并按如下方式对其进行更改:

[
    {
        "name":"john",
        "Round1Prediction":"7"
    },
    {
        "name": "james"
    }
] 

目前,当我得到 json 的内容时: $jsonPlayers = json_decode($strJsonFileContents, true); var_dump($jsonPlayers); // print array

输出如下:

array(4) 
{
  [0]=> array(1){
                    ["name"]=>string(1) "q"
                }
  [1]=> array(1){
                    ["name"]=>string(1) "w"
                }
  [2]=> array(1){
                    ["name"]=>string(1) "e"
                }
  [3]=> array(1){
                    ["name"]=>string(2) "rt"
                }
}

可视化我想做的事情(通过手动输入): 数组(4)

{
  [0]=> array(1){
                    ["name"]=>string(1) "q"
                    ["Round1Prediction"]=>string(1) "5"
                }
  [1]=> array(1){
                    ["name"]=>string(1) "w"
                }
  [2]=> array(1){
                    ["name"]=>string(1) "e"
                }
  [3]=> array(1){
                    ["name"]=>string(2) "rt"
                }
}

那么我将如何将额外的物品推入?我试过这个...:

$input = array($attrName => $value);
$newjsonPlayers = array_push($jsonPlayers[0], $input);

...以及其他几次不成功的尝试。任何人都可以帮忙吗?我确实尝试过格式化这个问题,以便更容易理解,但如有必要,可以尝试解释更多。

tldr 我试图将一个关联数组推入另一个,我该怎么做呢?有没有替代的方法?有没有可能?

非常感谢。

【问题讨论】:

  • 你应该可以直接设置它而不是把值压进去——试试$jsonPlayers[0][$attrName] = $value;
  • @NigelRen 非常感谢!

标签: php json multidimensional-array associative-array


【解决方案1】:

你应该可以直接设置它而不是把值压进去——试试

$jsonPlayers[0][$attrName] = $value;

【讨论】:

    猜你喜欢
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多