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]   

> Без описания
Koc
Отправлено: 27 Февраля, 2013 - 00:28:39
Post Id



Новичок


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


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




Подскажите как сделать из такого массива

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $data = Array
  3. (
  4.     [0] => Array
  5.         (
  6.             [id] => 2
  7.             [name] => Админ1
  8.             [group] => admin
  9.         )
  10.  
  11.     [1] => Array
  12.         (
  13.             [id] => 3
  14.             [name] => Админ2
  15.             [group] => admin
  16.         )
  17.  
  18.     [2] => Array
  19.         (
  20.             [id] => 5
  21.             [name] => Юзер1
  22.             [group] => user
  23.         )
  24.  
  25.     [3] => Array
  26.         (
  27.             [id] => 6
  28.             [name] => Юзер2
  29.             [group] => user
  30.         )
  31.      .... и так далее
  32. )
  33.  


Два массива такого вида

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $admins = Array
  3. (
  4.     [2] => Админ1
  5.     [3] => Админ2
  6. )
  7.  
  8. $users= Array
  9. (
  10.     [5] => Юзер1
  11.     [6] => Юзер2
  12. )
  13.  


Мне нужно из одного массива, выбрать пользователей с группой admin и запихнуть в массив $admins,
и тоже самое сделать для пользователей с группой user

И чтобы в новых массивах ключ был id пользователя, а значение это имя пользователя.

Заранее спасибо!

(Отредактировано автором: 27 Февраля, 2013 - 00:29:30)

 
 Top
etoYA
Отправлено: 27 Февраля, 2013 - 02:38:46
Post Id



Участник


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


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




PHP:
скопировать код в буфер обмена
  1. for ($i = 0; $i < sizeof($data); $i++){
  2.         if ($data[$i]['group'] == 'user'){
  3.                 $users[$data[$i]['id']] = $data[$i]['name'];
  4.         }
  5.         if ($data[$i]['group'] == 'admin'){
  6.                 $admins[$data[$i]['id']] = $data[$i]['name'];
  7.         }
  8. }

?

(Отредактировано автором: 27 Февраля, 2013 - 02:45:09)

 
 Top
Koc
Отправлено: 28 Февраля, 2013 - 02:13:53
Post Id



Новичок


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


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




Большое спасибо ..
я почти также сделал

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.                 for ($x=0; $x<count($data); $x++)
  3.                 {
  4.                         if (in_array('admin', $data[$x]))
  5.                         {
  6.                                 $admin[$data[$x]['id']] = $data[$x]['name'];
  7.                         }
  8.                         if (in_array('user', $data[$x]))
  9.                         {
  10.                                 $user[$data[$x]['id']] = $data[$x]['name'];
  11.                         }
  12.                 }
  13.  


Что лучше или быстрей работать будит ваш вариант или мой с in_array?
 
 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