You are here

php匿名函数+array_map获取entity list

Drupal下面获取entity machine name + entity label的key => value列表,一般会用foreach来获取。代码格式如下

$entity_info = entity_get_info();
$options = [];
foreach ($entity_info as $entity_type => $info) {
  $options[$entity_type] = $info['label'];
}

这样写固然无可厚非。但是这里介绍一种稍有逼格的写法,供读者开拓思路。

这里利用了array_map + 匿名函数的方式来执行。

$entity_info = entity_get_info();
$entity_options = array_map(function ($item) {
  return $item['label'];
}, $entity_info);