Php 从数组对象创建数组的更好方法
我有这样一个数组对象:Php 从数组对象创建数组的更好方法,php,arrays,Php,Arrays,我有这样一个数组对象: Array ( [0] => stdClass Object ( [id] => 1 [name] => sam ) [1] => stdClass Object ( [id] => 2 [name] => tim ) [2] => stdCl
Array
(
[0] => stdClass Object
(
[id] => 1
[name] => sam
)
[1] => stdClass Object
(
[id] => 2
[name] => tim
)
[2] => stdClass Object
(
[id] => 3
[name] => nic
)
)
我想要这个:
Array
(
[sam] => sample text
[tim] => sample text
[nic] => sample text
)
我目前的做法是:
$arr = array();
foreach($multi_arr as $single_arr) {
$arr[$single_arr->name] = "sample text";
}
有没有比这更干净/更好的方法?谢谢您可以使用
array\u map
获取所有键,然后使用array\u fill\u keys
填充最终的数组
$arr = array_fill_keys(array_map(function($e) {
return $e->name;
}, $multi_arr), "sample text");
如果示例文本
是stdClass对象的一部分:
$arr = array_merge(...array_map(function($e) {
return [$e->name => $e->description];
}, $multi_arr));
您可以使用
array\u map
获取所有键,然后使用array\u fill\u keys
填充最终的数组
$arr = array_fill_keys(array_map(function($e) {
return $e->name;
}, $multi_arr), "sample text");
如果示例文本
是stdClass对象的一部分:
$arr = array_merge(...array_map(function($e) {
return [$e->name => $e->description];
}, $multi_arr));
这需要一个语言标签。@Thilo谢谢你。我将更新由
json\u decode()
?@axiac生成的数组否,此数据结构来自数据库。这需要一个语言标记。@Thilo谢谢。我将更新由json_decode()
?@axiac生成的数组否,此数据结构来自数据库。如果“示例文本”是动态的,会怎么样?所有的“示例文本”都一样吗?将它放在一个变量中,并使用$multi_arr具有“description”,我可以调用$single_arr->description来填充“示例文本”。很抱歉,我的问题中应该包括这一点。如果“示例文本”是动态的,怎么办?所有人的“示例文本”都一样吗?将它放在一个变量中,并使用$multi_arr具有“description”,我可以调用$single_arr->description来填充“示例文本”。很抱歉,我应该在我的问题中包括这个