如何在php中为新存在的数组添加新值?

Abd*_*leh 0 php json

我正在尝试使用key来为存在的数组添加值

这是我的阵列

{
  "object": {
    "USER_ID": "1",
    "EMAIL": "abdabughazaleh@hotmail.com",
    "FIRST_NAME": "abd",
    "LAST_NAME": "abughazaleh",
    "PICTURE": "images/users/xuhEzR6m4LvjCuKx1vAb.jpg"
  }
}
Run Code Online (Sandbox Code Playgroud)

与json结果.

我需要添加这样的元素:

{
  "object": {
    "USER_ID": "1",
    "EMAIL": "abdabughazaleh@hotmail.com",
    "FIRST_NAME": "abd",
    "LAST_NAME": "abughazaleh",
    "PICTURE": "images/users/xuhEzR6m4LvjCuKx1vAb.jpg",
    "new_key": "new_value"
  }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试这个:

 array_push($ar['object'],array('new_key'=>'new_value'));
Run Code Online (Sandbox Code Playgroud)

还有这个 :

$ar['object']['new_key'] = 'new_value';
Run Code Online (Sandbox Code Playgroud)

问题没有解决我:(

Tar*_*ych 5

这不是数组,这是json:

{
  "object": {
    "USER_ID": "1",
    "EMAIL": "abdabughazaleh@hotmail.com",
    "FIRST_NAME": "abd",
    "LAST_NAME": "abughazaleh",
    "PICTURE": "images/users/xuhEzR6m4LvjCuKx1vAb.jpg"
  }
}
Run Code Online (Sandbox Code Playgroud)

首先,将json转换为关联数组json_decode:

$json = '{
  "object": {
    "USER_ID": "1",
    "EMAIL": "abdabughazaleh@hotmail.com",
    "FIRST_NAME": "abd",
    "LAST_NAME": "abughazaleh",
    "PICTURE": "images/users/xuhEzR6m4LvjCuKx1vAb.jpg"
  }
}';

$json = json_decode($json, true); //true second parameter is actully for converting json into associative array
Run Code Online (Sandbox Code Playgroud)

比为新创建的数组添加值:

$json['object']['key'] = 'value';
Run Code Online (Sandbox Code Playgroud)

结果print_r($json):

Array
(
    [object] => Array
        (
            [USER_ID] => 1
            [EMAIL] => abdabughazaleh@hotmail.com
            [FIRST_NAME] => abd
            [LAST_NAME] => abughazaleh
            [PICTURE] => images/users/xuhEzR6m4LvjCuKx1vAb.jpg
            [key] => value
        )

)
Run Code Online (Sandbox Code Playgroud)

比转换回json:

$json = json_encode($json);
Run Code Online (Sandbox Code Playgroud)

Reult echo $json;:

{
"object":{
        "USER_ID":"1",
        "EMAIL":"abdabughazaleh@hotmail.com",
        "FIRST_NAME":"abd",
        "LAST_NAME":"abughazaleh",
        "PICTURE":"images\/users\/xuhEzR6m4LvjCuKx1vAb.jpg",
        "key":"value"
    }
}
Run Code Online (Sandbox Code Playgroud)