繁体   English   中英

如何在PHP中添加具有新值的新键以存在数组?

[英]How to add new key with new value to exist array in php ?

我试图用键添加值以存在数组

这是我的数组

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

与json结果。

我需要添加这样的元素:

{
  "object": {
    "USER_ID": "1",
    "EMAIL": "abdabughazaleh@hotmail.com",
    "FIRST_NAME": "abd",
    "LAST_NAME": "abughazaleh",
    "PICTURE": "images/users/xuhEzR6m4LvjCuKx1vAb.jpg",
    "new_key": "new_value"
  }
}

当我尝试这个:

 array_push($ar['object'],array('new_key'=>'new_value'));

和这个 :

$ar['object']['new_key'] = 'new_value';

我没有解决的问题:(

这不是数组,这是json

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

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

$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

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

$json['object']['key'] = 'value';

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
        )

)

比转换回json:

$json = json_encode($json);

echo $json;

{
"object":{
        "USER_ID":"1",
        "EMAIL":"abdabughazaleh@hotmail.com",
        "FIRST_NAME":"abd",
        "LAST_NAME":"abughazaleh",
        "PICTURE":"images\/users\/xuhEzR6m4LvjCuKx1vAb.jpg",
        "key":"value"
    }
}

我用这段代码解决了

  <?php   $array->object->new_key ='new_value'; ?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM