我有以下包含一个或多个对象的数组:
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"
}
]
我该如何实现?
答案 0 :(得分:2)
这可能会解决您的问题。
//assuming $arr is your array
foreach($arr as $a){
foreach($options as $key=>$value){
$a->$key = $value;
}
}
return $arr;
答案 1 :(得分:1)
您可以使用array_replace,
$result = array_replace($yourArray, $options);
这里是相同的语法
$basket = array_replace($base, $replacements,// you can pass multiple arrays);