[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Одно поле из массива в общий массив
waldicom
Толи туплю, толи нет такой функции.
Итак, есть массив вида
$a = array(
0 => array(
'id' => 1,
'name' => 'blabla1'
),
1 => array(
'id' => 7,
'name' => 'blabla1'
),
2 => array(
'id' => 5,
'name' => 'blabla1'
),
2 => array(
'id' => 28,
'name' => 'blabla1'
),
);


мне нужен массив, в котором бы были поля id каждого элемента. Т.е. в данном случае
array(1,7,5,28)

Понятно, что можно сделать с foreach или array_walk/array_map .
Но красивее или короче никак нельзя? Типа array_keys_mega_function($a, 'id')?

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Winston
Цитата (waldicom @ 27.02.2013 - 15:07)
толи нет такой функции

Стандартной функции нету, придется свою писать.
waldicom
Цитата (Winston @ 27.02.2013 - 14:59)
Стандартной функции нету, придется свою писать.

Вот и я думаю, почему такой функции нет...

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Игорь_Vasinsky
вроде тоже не много кода

$result = array_map(create_function('$v', 'return $v["id"];'),$a);


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
waldicom
Цитата (Invis1ble @ 27.02.2013 - 15:43)
waldicom
ждем array_column() smile.gif

Дааааааааааааааааааа!!!! smile.gif

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Valick
как формируется массив? подозреваю проделки базы данных.
почему сразу нельзя сформировать массив в нужном виде?

_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
а может это параметр какой нить? и нужно получить список id

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
waldicom
Цитата (Игорь_Vasinsky @ 27.02.2013 - 15:59)
вроде тоже не много кода

$result = array_map(create_function('$v', 'return $v["id"];'),$a);

Согласен, код не большой. Я и говорил про это. Но всё же :)

Цитата (Valick @ 27.02.2013 - 16:44)
как формируется массив? подозреваю проделки базы данных.
почему сразу нельзя сформировать массив в нужном виде?

Приходит из базы данных. Выбираются через Zend'овские функции, поэтому там все стандартно.
Хотя не могу исключить, что есть подходящий FETCH_MODE.

пысы: мне идти читать книги по PHP? :)

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Valick
Цитата
пысы: мне идти читать книги по PHP? smile.gif

а разве я могу вам это запретить? smile.gif
Цитата
Выбираются через Zend'овские функции

вот она, обратная сторона шаблонного программирования
если нельзя код поправить, то остается еще один запрос, а это ничем не лучше предложенного выше способа
___
кстати книги можно отложить в сторону и почитать документацию по функциям, должна скорее всего быть лазейка

_____________
Стимулятор ~yoomoney - 41001303250491
waldicom
Цитата (Valick @ 27.02.2013 - 17:42)
а разве я могу вам это запретить?

Нет, вы упорно стараетесь навязать это... Что само по себе не плохо и даже очень важно, но в вашем контексте звучит издевательски.


Цитата (Valick @ 27.02.2013 - 17:42)
вот она, обратная стороона шаблонного программирования
если нельзя код поправить, то остается еще один запрос, а это ничем не лучше предложенного выше способа

Оно, конечно, холиварчег, но без "шаблонного программирования" не было бы таких больших проектов. И опять же, возмжно есть в Zend'е подходящая возможность.

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Valick
Цитата
но в вашем контексте звучит издевательски.

это не так, но переубедить вас будет трудно


_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.