Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: обход массива

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
MBmusic
Отправлено: 14 Августа, 2013 - 10:40:24
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




в общем есть массив $users из 100 записей такого вида:

Array
(
[0] => Array
(
[id] => 777
)
[1] => Array
(
[id] => 767
)
......

[99] => Array
(
[id] => 155
)
)

мне нужно пройтись по массиву и создать новый массив $links, в котором элементы массивов будут айдишники из массива $users......

ну что то вроде такого:
$links[0] = 777
$links[1] = 767
...
$links[99] = 155
 
 Top
avtor.fox
Отправлено: 14 Августа, 2013 - 10:54:10
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




PHP:
скопировать код в буфер обмена
  1. $nData = array_map(function($v){
  2.         return $v['id'];
  3. }, $rgData);
  4. // print_r($nData);
  5.  
  6. array_walk($rgData, function ($v) use (&$nData){
  7.         $nData[] = $v['id'];
  8. });
  9. // print_r($nData);
  10.  
  11. $nData = array();
  12. foreach($rgData as $v){
  13.         $nData[] = $v['id'];
  14. }
  15. // print_r($nData);

(Отредактировано автором: 14 Августа, 2013 - 10:54:31)

 
 Top
EuGen Администратор
Отправлено: 14 Августа, 2013 - 10:57:19
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




PHP:
скопировать код в буфер обмена
  1. $rgResult = array_column($rgData, 'id');

?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
avtor.fox
Отправлено: 14 Августа, 2013 - 11:02:01
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




EuGen, не уверен, что у ТС 5,5 стоит.
 
 Top
Саныч Модератор
Отправлено: 14 Августа, 2013 - 11:05:52
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




avtor.fox
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // array_column for PHP < 5.5.0
  3. if (!function_exists('array_column')) {
  4.     function array_column(array $input, $column_key, $index_key = null) {        
  5.         if (!is_int($column_key) && !is_string($column_key)) {
  6.             trigger_error('array_column(): The column key should be either a string or an integer', E_USER_WARNING);
  7.             return false;
  8.         }
  9.        
  10.         if (!is_null($index_key) && !is_int($index_key) && !is_string($index_key)) {
  11.             trigger_error('array_column(): The index key should be either a string or an integer', E_USER_WARNING);
  12.             return false;
  13.         }
  14.        
  15.         $result = array();
  16.        
  17.         foreach ($input as $arr) {
  18.             if (is_array($arr) && array_key_exists($column_key, $arr)) {                
  19.                 if (!is_null($index_key) && array_key_exists($index_key, $arr)) {
  20.                     $result[$arr[$index_key]] = $arr[$column_key];
  21.                 } else {
  22.                     $result[] = $arr[$column_key];
  23.                 }
  24.             }
  25.         }
  26.        
  27.         return $result;
  28.     }
  29. }


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB