通过subitems键转换数组的优雅方式

时间:2012-06-04 11:09:37

标签: php arrays

我有这个数组:

array (size=3)
  0 => 
    array (size=2)
      'name' => string 'XML' (length=3)
      'processer' => string 'XMLp' (length=12)
  1 => 
    array (size=2)
      'name' => string 'XML2' (length=3)
      'processer' => string 'XML2pr' (length=12)
  2 => 
    array (size=2)
      'name' => string 'CSV' (length=3)
      'processer' => string 'CSVp' (length=12)

因为我不需要所有这些,所以我没有转换这个数组:

$a = array ('XML', 'XML2', 'CSV');

所以得到'名字'。如何在PHP中优雅地做到这一点?

3 个答案:

答案 0 :(得分:5)

$source = array( 
    0 => array ( 
        'name' =>'A',
        'processer' => 'XMLf'),
    1 => array (
            'name' =>'B',
            'processer' => 'XMLp'),
    2 => array (
            'name' =>'C',
            'processer' => 'XMLp')
);

$output = array_map(function ($value) {
    return $value['name'];
}, $source);

print_r($output);

答案 1 :(得分:3)

你可以绕过它,我认为没有更优雅的方式:

$a = array();
foreach ($array as $value) {
    $a[] = $value ['name'];
}

答案 2 :(得分:1)

foreach($array as $a) $new[] = $a['name'];