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]   

> Описание: Многомерный ассоциативный массив...создание
Valeriya12
Отправлено: 07 Июня, 2014 - 09:33:53
Post Id


Новичок


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


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




Здравствуй! Важно сказать, что я долго искала ответ, прежде того, что решила попросить помощь.

У меня есть этот простой код:

PHP:
скопировать код в буфер обмена
  1. $superarray=array();
  2. $con="Dani: Hello everyone!|dani,avi,moshe";
  3. $ben="Avi: Hey how are you doing?|dani,avi,moshe";
  4. $hf="moshe: Good to see you guys!|dani,avi,moshe";
  5. $ag="masha: We are in another chat than the dani, avi and moshe|masha,dean,billy";
  6. $all[]=$con;
  7. $all[]=$ben;
  8. $all[]=$hf;
  9. $all[]=$ag;


я хочу получить такой var_dump результат с ним:

CODE (htmlphp):
скопировать код в буфер обмена
  1. array (size=2)
  2.   array (size=3)
  3.     0 => dani (length=4)
  4.     1 => avi (length=3)
  5.     2 = > moshe (length=5)
  6.        array (size=3)
  7.         0 => string 'Dani: Hello everyone!' (length=21)
  8.         1 => string 'Avi: Hey how are you doing?' (length=27)
  9.         2 => string 'moshe: Good to see you guys!' (length=28)
  10.   array (size=3)
  11.     0 => masha (length=5)
  12.     1 => dean (length=4)
  13.     2 = > billy (length=4)
  14.       array (size=1)
  15.       0 => string 'masha: We are in another chat than the dani, avi and moshe' (length=58)



Пока, только смогла сделать так:

PHP:
скопировать код в буфер обмена
  1. for($i=0;$i<count($all);$i++)
  2. {
  3. $ex=explode("|",$all[$i]);
  4. $users=explode(",",$ex[1]);
  5. $usersarray[]=($users);
  6. $superarray[trim($ex[1])][] = (trim($ex[0]));
  7.  
  8. }
  9.  
  10. var_dump($superarray);
  11. var_dump($usersarray);


И получаю это:


PHP:
скопировать код в буфер обмена
  1. array (size=2)
  2.   'dani,avi,moshe' =>
  3.     array (size=3)
  4.       0 => string 'Dani: Hello everyone!' (length=21)
  5.       1 => string 'Avi: Hey how are you doing?' (length=27)
  6.       2 => string 'moshe: Good to see you guys!' (length=28)
  7.   'masha,dean,billy' =>
  8.     array (size=1)
  9.       0 => string 'masha: We are in another chat than the dani, avi and moshe' (length=58)
  10. array (size=4)
  11.   0 =>
  12.     array (size=3)
  13.       0 => string 'dani' (length=4)
  14.       1 => string 'avi' (length=3)
  15.       2 => string 'moshe' (length=5)
  16.   1 =>
  17.     array (size=3)
  18.       0 => string 'dani' (length=4)
  19.       1 => string 'avi' (length=3)
  20.       2 => string 'moshe' (length=5)
  21.   2 =>
  22.     array (size=3)
  23.       0 => string 'dani' (length=4)
  24.       1 => string 'avi' (length=3)
  25.       2 => string 'moshe' (length=5)
  26.   3 =>
  27.     array (size=3)
  28.       0 => string 'masha' (length=5)
  29.       1 => string 'dean' (length=4)
  30.       2 => string 'billy' (length=5)


Но не могу соединить $superarray и $usersarray, чтоб получать то, что хочу. Пожалуйста помогите
 
 Top
Aske
Отправлено: 07 Июня, 2014 - 19:07:50
Post Id


Новичок


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


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




Держи, набыдлокодил тут, но вроде похоже на то что ты хотела получить Радость

PHP:
скопировать код в буфер обмена
  1.  
  2. $superarray=array();
  3. $con="Dani: Hello everyone!|dani,avi,moshe";
  4. $ben="Avi: Hey how are you doing?|dani,avi,moshe";
  5. $hf="moshe: Good to see you guys!|dani,avi,moshe";
  6. $ag="masha: We are in another chat than the dani, avi and moshe|masha,dean,billy";
  7. $all[]=$con;
  8. $all[]=$ben;
  9. $all[]=$hf;
  10. $all[]=$ag;
  11.  
  12.  
  13. for($i=0;$i<count($all);$i++)
  14. {
  15. $ex=explode("|",$all[$i]);
  16. $users=explode(",",$ex[1]);
  17. $usersarray[]=($users);
  18. $superarray[trim($ex[1])] = array();
  19. foreach ($superarray as $key => $value)
  20.         {
  21.         if ($key == $ex[1])
  22.                 {
  23.                 for($j=0;$j<count($users);$j++)
  24.                 $superarray[$key][] = $users[$j] ;
  25.                 }
  26.         }
  27. $exs[] = $ex;
  28. }
  29.  
  30. foreach ($exs as $i => $ex)
  31. {
  32. $superarray[trim($ex[1])]['text'][] = trim($ex[0]);
  33. }
  34.  
  35. echo '<pre>';
  36. var_dump($superarray);
  37. echo '</pre>'; 
  38.  


Дамп:
PHP:
скопировать код в буфер обмена
  1.  
  2. array(2) {
  3.   ["dani,avi,moshe"]=>
  4.   array(4) {
  5.     [0]=>
  6.     string(4) "dani"
  7.     [1]=>
  8.     string(3) "avi"
  9.     [2]=>
  10.     string(5) "moshe"
  11.     ["text"]=>
  12.     array(3) {
  13.       [0]=>
  14.       string(21) "Dani: Hello everyone!"
  15.       [1]=>
  16.       string(27) "Avi: Hey how are you doing?"
  17.       [2]=>
  18.       string(28) "moshe: Good to see you guys!"
  19.     }
  20.   }
  21.   ["masha,dean,billy"]=>
  22.   array(4) {
  23.     [0]=>
  24.     string(5) "masha"
  25.     [1]=>
  26.     string(4) "dean"
  27.     [2]=>
  28.     string(5) "billy"
  29.     ["text"]=>
  30.     array(1) {
  31.       [0]=>
  32.       string(58) "masha: We are in another chat than the dani, avi and moshe"
  33.     }
  34.   }
  35. }
  36.  

(Отредактировано автором: 07 Июня, 2014 - 21:16: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