在PHP中将值更新为json文件

时间:2015-06-14 14:42:52

标签: php json

假设我有以下json文件:

{
    "infos": {
        "name": "Logo changed."
    },
    "datas": [
        {...}
    ]
}

我想更改name

的值

所以,我试过这个:

$to_replace = 'New logo change.'    
$datas['infos']['name'][0] = $to_replace;

但在那之后我的json看起来很糟糕:

{
    "infos": {
        "0": {
            "name": "New logo change."
        },
        "name": "Logo changed."
    },
    "datas": [
        {...}
    ]
}

为什么它不起作用?

感谢。

3 个答案:

答案 0 :(得分:0)

删除[0],您不需要它:

$datas['infos']['name'] = $to_replace;

PHP实际上认为你在"0"项目中有name,所以在那里添加了一个。{

答案 1 :(得分:0)

替换

$to_replace = 'New logo change.'    
$datas['infos']['name'][0] = $to_replace;

使用

$to_replace = 'New logo change.'    
$datas['infos']['name'] = $to_replace;

答案 2 :(得分:0)

您可以尝试使用此代码(不使用[0]

$to_replace = 'New logo change.'    
$datas['infos']['name'] = $to_replace;

在PHP中,对于JSON对象,如果使用数字,它将使用作为新密钥,而不是用于"第一个元素"