将多维数组转换为单数组并删除键


Converting multidimentional array into single array and removing the keys

array (size=1551884)
   0 => 
      array (size=1)
         'entity_id' => string '131813' (length=6)
   1 => 
      array (size=1)
         'entity_id' => string '213808' (length=6)
   2 => 
      array (size=1)
         'entity_id' => string '712885' (length=6)

是否有可能将其转换为单个数组没有关键'entity_id'没有循环?

array
   0 =>
     131813
   1 =>
     213808
   2 =>
     712885

我试过这个:

call_user_func_array('array_merge', $array)

却只返回1个元素

更新:

下面是对这个问题给出答案的基准测试结果:

array_column: 0.20802903175354
foreach: 0.46231913566589
array_map: 1.021989107132

php version> 7

array_column: 0.079965829849243
foreach: 0.15323305130005
array_map: 0.28970503807068

这对于array_column也是可能的。

$result = array_column($your_array, 'entity_id');

使用array_map可以很容易地这样做:

$result = array_map(function($value) {
    return $value['entity_id'];
}, $originalArray);

工作示例:https://3v4l.org/JOEMI

当然你也可以用foreach循环来做:

$result = [];
foreach($originalArray AS $entity) {
    $result[] = $entity['entity_id'];
}

工作示例:https://3v4l.org/9J5XH

我个人更喜欢第一个选项。

更新:公认的答案显然是最好的方法。那样做!