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]   

> Без описания
eboome
Отправлено: 29 Августа, 2014 - 15:02:24
Post Id


Новичок


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


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




Здраствуйте! есть массив:
PHP:
скопировать код в буфер обмена
  1.  
  2. (
  3.     [0] => Array
  4.         (
  5.             [NickName] => Admin
  6.         )
  7.  
  8.     [1] => Array
  9.         (
  10.             [NickName] => Aleksey
  11.         )
  12.  
  13.     [2] => Array
  14.         (
  15.             [NickName] => Angie
  16.         )
  17.  
  18.     [3] => Array
  19.         (
  20.             [NickName] => anotheruser
  21.         )
  22.  
  23.     [4] => Array
  24.         (
  25.             [NickName] => Brittany
  26.         )
  27.  
  28.  

как сделать так что б получилось:
PHP:
скопировать код в буфер обмена
  1.         (
  2.             [NickName] => value
  3.         )

или к каком направлении копать

(Отредактировано автором: 29 Августа, 2014 - 15:03:27)

 
 Top
RickMan
Отправлено: 29 Августа, 2014 - 15:17:02
Post Id


Участник


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


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






Уверен, что так...
 
 Top
eboome
Отправлено: 29 Августа, 2014 - 15:22:17
Post Id


Новичок


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


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




RickMan пишет:

Уверен, что так...


не думаю, у меня функция в результате исполения запроса возвращает етот массив
PHP:
скопировать код в буфер обмена
  1.  
  2. (
  3.     [0] => Array
  4.         (
  5.             [NickName] => Admin
  6.         )
  7.  
  8.     [1] => Array
  9.         (
  10.             [NickName] => Aleksey
  11.         )
  12.  
  13.     [2] => Array
  14.         (
  15.             [NickName] => Angie
  16.         )
  17.  
  18.     [3] => Array
  19.         (
  20.             [NickName] => anotheruser
  21.         )
  22.  
  23.     [4] => Array
  24.         (
  25.             [NickName] => Brittany
  26.         )
  27.  


Мне нужно достать значения всех NickName и сформировать з них массив,
 
 Top
RickMan
Отправлено: 29 Августа, 2014 - 15:26:48
Post Id


Участник


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


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




А ты в курсе что ты не можешь сформировать массив с 5 одинаковыми ключами? Как вариант можно сделать такой массив
PHP:
скопировать код в буфер обмена
  1. ['Admin', 'Aleksey', 'Angie', 'anotheruser', 'Brittany']

Ну или
PHP:
скопировать код в буфер обмена
  1. [[NickName] => ['Admin', 'Aleksey', 'Angie', 'anotheruser', 'Brittany']]

Как именно надо?
 
 Top
eboome
Отправлено: 29 Августа, 2014 - 15:31:04
Post Id


Новичок


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


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




я в курсе, мне нужно вот так:
PHP:
скопировать код в буфер обмена
  1.  
  2. [[NickName] => ['Admin', 'Aleksey', 'Angie', 'anotheruser', 'Brittany']]
  3.  

(Отредактировано автором: 29 Августа, 2014 - 15:31:30)

 
 Top
RickMan
Отправлено: 29 Августа, 2014 - 15:37:31
Post Id


Участник


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


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




PHP:
скопировать код в буфер обмена
  1. $arr = array(
  2.     array('NickName' => 'Admin'),
  3.     array('NickName' => 'Aleksey'),
  4.     array('NickName' => 'Angie'),
  5.     array('NickName' => 'anotheruser'),
  6.     array('NickName' => 'Brittany'));
  7.        
  8. $farr = array();
  9. foreach ($arr as $k){
  10.     $farr['NickName'][] = $k['NickName'];
  11. }
  12.  
  13. print_r($farr);
  14.  


Выдало:

Цитата:
Array ( [NickName] => Array ( [0] => Admin [1] => Aleksey [2] => Angie [3] => anotheruser [4] => Brittany ) )

(Отредактировано автором: 29 Августа, 2014 - 15:41:42)

 
 Top
eboome
Отправлено: 29 Августа, 2014 - 16:05:13
Post Id


Новичок


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


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




спасибо, то что надо!
 
 Top
eboome
Отправлено: 01 Сентября, 2014 - 13:47:11
Post Id


Новичок


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


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




а как сделать так:
PHP:
скопировать код в буфер обмена
  1. ['Admin', 'Aleksey', 'Angie', 'anotheruser', 'Brittany']
 
 Top
dcc0
Отправлено: 01 Сентября, 2014 - 15:25:21
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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




RickMan пишет:
$arr = array(
array('NickName' => 'Admin'),
array('NickName' => 'Aleksey'),
array('NickName' => 'Angie'),
array('NickName' => 'anotheruser'),
array('NickName' => 'Brittany'));

$farr = array();
foreach ($arr as $k){
$farr['NickName'][] = $k['NickName'];
}

print_r($farr);


Вы уверены, что у вас одномерный массив получился?


Вероятно, как-то так:
PHP:
скопировать код в буфер обмена
  1.  <?  
  2.  $arr = array(
  3.     array('NickName' => 'Admin'),
  4.     array('NickName' => 'Aleksey'),
  5.     array('NickName' => 'Angie'),
  6.     array('NickName' => 'anotheruser'),
  7.     array('NickName' => 'Brittany'));
  8.  
  9.  
  10.  
  11.   foreach($arr as  $va) {
  12.  
  13.  foreach ($va as $v) {
  14.    
  15.         $new[] = $v;
  16.   }
  17.  
  18.  
  19. }
  20. print_r($new);
  21.  

(Отредактировано автором: 01 Сентября, 2014 - 15:26:25)



-----
Март 2021. Бросил программирование
 
 Top
RickMan
Отправлено: 01 Сентября, 2014 - 16:42:46
Post Id


Участник


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


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




eboome пишет:
а как сделать так:
PHP:
скопировать код в буфер обмена
  1. ['Admin', 'Aleksey', 'Angie', 'anotheruser', 'Brittany']

PHP:
скопировать код в буфер обмена
  1.  
  2. $arr = array(
  3.     array('NickName' => 'Admin'),
  4.     array('NickName' => 'Aleksey'),
  5.     array('NickName' => 'Angie'),
  6.     array('NickName' => 'anotheruser'),
  7.     array('NickName' => 'Brittany'));
  8.        
  9. $farr = array();
  10. foreach ($arr as $k){
  11.     $farr[] = $k['NickName'];
  12. }
  13.  
  14. print_r($farr);
 
 Top
dcc0
Отправлено: 01 Сентября, 2014 - 17:07:57
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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




Можно чуть-чуть похулиганить:
CODE (htmlphp):
скопировать код в буфер обмена
  1.   $i=1;    
  2. $farr = array();
  3. foreach ($arr as $k){
  4. $i++;
  5.     $farr['NickName'.$i] = $k['NickName'];
  6. }
  7.  


Вывод:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Array ( [NickName2] => Admin [NickName3] => Aleksey [NickName4] => Angie [NickName5] => anotheruser [NickName6] => Brittany )

(Отредактировано автором: 01 Сентября, 2014 - 17:08:15)



-----
Март 2021. Бросил программирование
 
 Top
RickMan
Отправлено: 01 Сентября, 2014 - 17:22:23
Post Id


Участник


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


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




dcc0, а смысл в этом? Задача же другая....

(Отредактировано автором: 01 Сентября, 2014 - 17:22:53)

 
 Top
dcc0
Отправлено: 01 Сентября, 2014 - 17:29:03
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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




Цитата:
dcc0, а смысл в этом? Задача же другая...

Автор изменил условие, из этого можно предположить, что ему нужно ключом хранить Nickname. 4-oe сообщение сверху, не буду цитировать.


-----
Март 2021. Бросил программирование
 
 Top
RickMan
Отправлено: 01 Сентября, 2014 - 17:31:05
Post Id


Участник


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


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




dcc0 пишет:
Цитата:
dcc0, а смысл в этом? Задача же другая...

Автор изменил условие, из этого можно предположить, что ему нужно ключом хранить Nickname. 4-oe сообщение сверху, не буду цитировать.


Ну так Nickname, а не Nickname1, Nickname2 и так далее...
 
 Top
dcc0
Отправлено: 01 Сентября, 2014 - 17:35:46
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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




RickMan вы сами писали про совпадающие ключи... Опять же.

А первый у вас получился вложенный.

PHP:
скопировать код в буфер обмена
  1. Array ( [NickName] => Array ( [0] => Admin [1] => Aleksey [2] => Angie [3] => anotheruser [4] => Brittany ) )


Я так понял, нужен не вложенный, но с мнемоническими ключами.

(Отредактировано автором: 01 Сентября, 2014 - 17:36:59)



-----
Март 2021. Бросил программирование
 
 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