为了账号安全,请及时绑定邮箱和手机立即绑定

返回函数 PHP 中的所有值

返回函数 PHP 中的所有值

PHP
芜湖不芜 2021-12-03 15:30:29
我面临着一些关于返回值的问题,现在我可以用变量返回,但它会自动将它分离成 4 个数组。以下是我使用 json_decode$json_template = json_decode($json_body,true);函数时的数据{    "username": "",    "password": "",    "environment": "900"}之后我需要通过合并变量更改值,所以我使用 Map 函数:$map = new Map($json_template);$maps = $map->map(function($key, $value){            if($key == 'password'){                 $value = 'test';            }            return array($key=>$value);        });结果变成了:[    {        "username": ""    },    {        "password": "test"    },    {        "environment": "900"    }]但我希望我的结果会像{    "username": "",    "password": "test",    "environment": "900"}我应该添加或更改什么代码?
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

来自关于 map 方法的文档:


返回对每个值应用回调的结果


和:


可调用对象应返回键将在结果映射中映射到的内容。


这意味着您只需要返回修改value后的数组而不是数组{key:value}。


这是我机器上的一个工作示例(PHP 7.0 CLI):


$json_template = json_decode('

   {

      "username": "",

      "password": "",

      "environment": "900"

  }

', true);


$map = new \Ds\Map($json_template);

$maps = $map->map(function($key, $value){

     if($key == 'password'){

          $value = 'test';

     }

     return $value;

});


print_r($maps->toArray());

输出:


Array

(

    [username] =>

    [password] => test

    [environment] => 900

)


查看完整回答
反对 回复 2021-12-03
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

你可以这样做:


$json_template = json_decode($json_body,true);

foreach($json_template as $key => $value){

    if($key == 'password'){

        $json_template[$key]= 'test';

    }

}

希望能帮助到你。


查看完整回答
反对 回复 2021-12-03
  • 2 回答
  • 0 关注
  • 176 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信