使用键的PHP中的数组映射
发布时间:2020-12-13 16:41:38 所属栏目:PHP教程 来源:网络整理
导读:只是为了好奇(我知道它可以是单行foreach语句),是否有一些 PHP数组函数(或许多的组合)给出一个数组,如: Array ( [0] = stdClass Object ( [id] = 12 [name] = Lorem [email] = lorem@example.org ) [1] = stdClass Object ( [id] = 34 [name] = Ipsum [emai
只是为了好奇(我知道它可以是单行foreach语句),是否有一些
PHP数组函数(或许多的组合)给出一个数组,如:
Array ( [0] => stdClass Object ( [id] => 12 [name] => Lorem [email] => lorem@example.org ) [1] => stdClass Object ( [id] => 34 [name] => Ipsum [email] => ipsum@example.org ) ) 而且,给定“id”和“name”,产生如下: Array ( [12] => Lorem [34] => Ipsum ) 我使用这个模式很多,我注意到array_map在这种情况下是无用的,因为你不能指定返回数组的键.
只需使用
array_reduce :
$obj1 = new stdClass; $obj1 -> id = 12; $obj1 -> name = 'Lorem'; $obj1 -> email = 'lorem@example.org'; $obj2 = new stdClass; $obj2 -> id = 34; $obj2 -> name = 'Ipsum'; $obj2 -> email = 'ipsum@example.org'; $reduced = array_reduce( // input array array($obj1,$obj2),// fold function function(&$result,$item){ // at each step,push name into $item->id position $result[$item->id] = $item->name; return $result; },// initial fold container [optional] array() ); 这是一个单行的评论^^ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |