在PHP中将子数组项作为数组返回

时间:2012-10-08 18:19:16

标签: php arrays

我有以下php代码:

$menu_wood = array();
$menu_wood[] = array('link' => 'holz.php',
            'description' => 'Holzübersicht',
            'class' => isCurrentPage('holz.php')
            );
$menu_wood[] = array('link' => 'ahorn.php',
            'description' => 'Ahorn',
            'class' => isCurrentPage('ahorn.php')
            );
$menu_wood[] = array('link' => 'birke.php',
            'description' => 'Birke',
            'class' => isCurrentPage('birke.php')
            );

PHP中是否有buildin函数可以返回所有'link'元素的数组,还是需要编写自己的函数?

3 个答案:

答案 0 :(得分:2)

我想你需要以这种方式使用你自己的代码。

$myLinks = array();
foreach ($menu_wood as $menu)
    $myLinks[] = $menu['link'];

如果你想写一个函数,你可以这样做:

function getPart($array, $arrIndex)
{
    $myLinks = array();
    foreach ($array as $single)
        $myLinks[] = $menu[$arrIndex];
}

答案 1 :(得分:1)

您使用array_map来实现此目标

$links = array_map(function($var){ return $var['link'];}, $menu_wood);
var_dump($links);

输出

array
  0 => string 'holz.php' (length=8)
  1 => string 'ahorn.php' (length=9)
  2 => string 'birke.php' (length=9

答案 2 :(得分:0)

你必须自己编写,就像这样:

foreach ($menu_wood as &$arr) {
   $links[] = $arr['link'];
}

var_dump($links); //will show all link values