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
Форумы портала PHP.SU :: Версия для печати :: Как создать массив
Форумы портала PHP.SU » PHP » Программирование на PHP » Как создать массив

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

1. Alex213 - 31 Июля, 2015 - 10:16:31 - перейти к сообщению
Как сделать массив такого вида?

mid => 1
___nid => 1
_______sid => 1
_______sid => 2
_______sid => 3

___nid => 2
_______sid => 1
_______sid => 2

___nid = >3
________sid =>1
________sid =>2

и т.д. mid =>2 .....
2. Мелкий - 31 Июля, 2015 - 10:47:30 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $rgOut = [];
  2. foreach ($result as $row) {
  3.     if (! isset($rgOut[ $row['mid'] ])) {
  4.         $rgOut[ $row['mid'] ] = [];
  5.     }
  6.     if (! isset($rgOut[ $row['mid'] ][ $row['nid'] ])) {
  7.         $rgOut[ $row['mid'] ][ $row['nid'] ] = [];
  8.     }
  9.     $rgOut[ $row['mid'] ][ $row['nid'] ][ $row['sid'] ] = 'value';
  10. }
3. Alex213 - 31 Июля, 2015 - 12:08:43 - перейти к сообщению
[quote=Мелкий][/quote]
PHP:
скопировать код в буфер обмена
  1. $sql= "SELECT * FROM tt";
  2. $result = mysql_query($sql);
  3.  
  4. $rgOut = [];
  5. foreach ($result as $row) {
  6.     if (!isset($rgOut[ $row['mid'] ])) {
  7.         $rgOut[ $row['mid'] ] = [];
  8.     }
  9.     if (!isset($rgOut[ $row['mid'] ][ $row['nid'] ])) {
  10.         $rgOut[ $row['mid'] ][ $row['nid'] ] = [];
  11.     }
  12.     $rgOut[ $row['mid'] ][ $row['nid'] ][ $row['sid'] ] = 'value';
  13. }

Что я делаю не правильно?
Warning: Invalid argument supplied for foreach() in
4. Мелкий - 31 Июля, 2015 - 12:15:41 - перейти к сообщению
Alex213 пишет:
Что я делаю не правильно?

Всё.
5. Alex213 - 31 Июля, 2015 - 12:24:23 - перейти к сообщению
Мелкий пишет:
Всё.

Подскажите пожалуйста
6. Мелкий - 31 Июля, 2015 - 12:26:29 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $pdo = new pdo(/*заполнить самостоятельно*/);
  2. $result = $pdo->query($sql);
7. Alex213 - 31 Июля, 2015 - 12:56:36 - перейти к сообщению
[quote=Мелкий][/quote]
Спасибо конечно. Но все равно выводит не так как хотелось бы
PHP:
скопировать код в буфер обмена
  1. array(2) {
  2.   [1]=>
  3.   array(1) {
  4.     [3]=>
  5.     array(1) {
  6.       [2]=>
  7.       string(5) "value"
  8.     }
  9.   }

 

Powered by ExBB FM 1.0 RC1