2017-09-18 43 views
-3

如何从具有嵌套关键字的多维列获得列如何从具有嵌套关键字的多维列中获取列

我有一个多维的数组。我必须把一个键作为列,但它是嵌套的。像对象访问如何用最少的代码或优化来实现这一点。

阵列

$array = [ 
    [ 
     'price' => [ 
      'cost' => 200, 'tax' => 10, 'total' => 210 
     ], 
     'otherKey' => 'etc' 
    ], 

    [ 
     'price' => [ 
      'cost' => 500, 'tax' => 50, 'total' => 550 
     ], 
     'otherKey' => 'etc' 
    ], 
    [ 
     'price' => [ 
      'cost' => 600, 'tax' => 60, 'total' => 660 
     ], 
     'otherKey' => 'etc' 
    ], 
]; 

监守这可以通过使用foreacharray_map()array_column()

我做它来完成。

使用array_column()

$result = array_column(array_column($array, 'price'), 'total'); 
printf($result); 
上面我必须使用 array_column()两个时间,我不想使用使用

foreach

$result = []; 
foreach ($array as $value) { 
    $result[] = $value['price']['total']; 
} 
printf($result); 

这是工作好,但有没有更好的w唉。

是有,我可以在array_column()指定嵌套的键像

array_column($array, 'price.total'); // something like this 

结果

array: [ 
    0 => 210 
    1 => 550 
    2 => 660 
] 

我已经搜查,但找不到任何像这样的问题,那就是这样,我问什么办法。

在此先感谢。

回答

1

foreach是更好的方法,即使您可以为您的想法做一个基准测试。

1

简单的foreach应该做的工作,你也可以编写一个函数,它接受一个字符串作为输入,拆分它并从数组中检索值。

相关问题