如何从PHP中的数组中获取“子数组”?

时间:2013-09-23 10:20:51

标签: php arrays multidimensional-array

我可能错误地提出了这个问题,请随时编辑以获得更好的版本。

我正在寻找一种方法:

我有一个数组如:

$ray=array();
    $ray[0] = array();
        $ray[0]['id'] = "1";
        $ray[0]['name'] = "lorem";
    $ray[1] = array();
        $ray[1]['id'] = "2";
        $ray[1]['name'] = "ipsum";

我希望获得一系列名称,以便

$names[0] = "lorem"
$names[1] = "ipsum"

我想我可以通过foreach手动创建数组来做到这一点,但我想知道是否有内置函数。

感谢您的帮助!

3 个答案:

答案 0 :(得分:5)

版本PHP 4> =

$finalarray = array_map(create_function('$yourarray', 'return $yourarray["arrayindex"];'), $actualarray );

array map

答案 1 :(得分:1)

如果您没有高级功能,这应该按预期工作:

<?php
$ray = array(
    array(
        'id' => "1",
        'name' => "Lorem"
    ),
    array(
        'id' => "1",
        'name' => "Ipsum"
    )
);

$res = array();
foreach ($ray as $val) {
    $res[] = $val['name'];
}

print_r ($res);
?>

答案 2 :(得分:1)

根据您的问题,我可以看到2个选项

一种是返回一个新数组并将id保留在新数组中

$output = array();
foreach ($ray as $key => $value) {
    $output[$value['id']] = $value['name'];
}

两个你不关心id,只需要名字

$output = array();
foreach ($ray as $key => $value) {
    $output[$key] = $value['name'];
}