PHP 2 dim Array для 1 dim массива - PullRequest
0 голосов
/ 30 июня 2011

Есть ли встроенная функция для выполнения следующих действий?

$a[] = $b[0]['foo'];
$a[] = $b[1]['foo'];
$a[] = $b[2]['foo'];
etc..

Я понимаю, что могу сделать что-то вроде следующего:

foreach($b as $c)
{
    $a[] = $c['foo'];
}

Но мне действительно любопытно, есть ли какая-нибудь встроенная функция массива, которая сделает это. Спасибо.

Ответы [ 2 ]

4 голосов
/ 30 июня 2011

Короче говоря: нет.

В long: Maybe;) Это потому, что он не "встроенный"

С PHP5.3

$a = array_map (function ($entry) {
  return $entry['foo'];
}, $b);

или до

$a = array_map (create_function ('$entry', 'return $entry[\'foo\'];'), $b);

По крайней мере, для второго решения я бы предпочел foreach -loop;)

1 голос
/ 30 июня 2011

Возможно, функция array_map

$func = function($value) {
    return $value['foo'];
};

print_r(array_map($func, $a));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...