如何使用数组 php 覆盖对象值

我有以下包含一个或多个对象的数组:


array:1 [▼

  0 => ApiS7File {#484 ▼

    +id: 19

    +type: "file"

    +z: "e1a4f81f.f90428"

    +name: ""

    +filename: "example/example.txt"

  }

]

如果用户向我提供选项数组


$options = ['filename' => 'hello', 'name' => 'thanks']

我希望使用用户提供的值覆盖数组对象:


array:1 [▼

  0 => ApiS7File {#484 ▼

    +id: 19

    +type: "file"

    +z: "e1a4f81f.f90428"

    +name: "thanks"

    +filename: "hello"

  }

]

我怎样才能做到这一点?


墨色风雨
浏览 171回答 2
2回答

至尊宝的传说

你可以使用array_replace,$result = array_replace($yourArray, $options);这是相同的语法$basket = array_replace($base, $replacements,// you can pass multiple arrays);

holdtom

这可能会解决您的问题。//assuming $arr is your arrayforeach($arr as $a){   foreach($options as $key=>$value){       $a->$key = $value;   }}return $arr;
打开App,查看更多内容
随时随地看视频慕课网APP