How to get "sub-array" from an array in PHP?

I probably mis-formulated this question, feel free to edit it for a better version.

I am looking for a way to do this:

I have an array, for example:

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

and I want to get an array of names so that

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

I think I can do this with foreach'ing and creating an array manually, but I wonder if there is a built-in function for this.

Thanks for any help!

+4
source share
3 answers

PHP Version 4> =

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

array map

+5
source

Unless you have advanced features, this should work as you would expect:

<?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);
?>
+1
source

2

-

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

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

All Articles