Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: многомерный массив
 
 автор: Dimonus   (14.02.2009 в 14:45)   письмо автору
 
 

Доброго дня Вам!

в PHP есть такая штука:

// Простой способ инициализации массива, без указания индексов
$names[]="Апельсин";
$names[]="Банан";
$names[]="Груша";
$names[]="Помидор";
// PHP автоматически присвоит индексы элементам массива, начиная с 0

А я могу таким же образом заполнить многомерный массив?

Типа:
$names[]="Апельсин", "sdsd","34342423","ppppp";

И в итоге получить:
$names[ какое получилось автоматом ][0] равно "Апельсин"
$names[ какое получилось автоматом ][1] равно "sdsd"
И так далее.

Не хочется лепить счетчик на перебор массива. Неудобно. переменные в массив вставляются из разных частей кода.


Заранее благодарен.

  Ответить  
 
 автор: cheops   (14.02.2009 в 14:54)   письмо автору
 
   для: Dimonus   (14.02.2009 в 14:45)
 

Да, конечно, это можно сделать при помощи конструкции array().
<?php
  $names
[] = array("Апельсин""sdsd","34342423","ppppp");
?>

  Ответить  
 
 автор: Dimonus   (14.02.2009 в 14:55)   письмо автору
 
   для: cheops   (14.02.2009 в 14:54)
 

Я так пробовал, не могу вывести результат обратно.

  Ответить  
 
 автор: cheops   (14.02.2009 в 14:56)   письмо автору
 
   для: Dimonus   (14.02.2009 в 14:55)
 

Чтобы было проще ориентироваться удобно воспользоваться функцией print_r(), которая возвращает дамп массива
<?php 
  $names
[] = array("Апельсин""sdsd","34342423","ppppp"); 
  echo 
"<pre>";
  
print_r($names);
  echo 
"</pre>";
?>

  Ответить  
 
 автор: Dimonus   (14.02.2009 в 15:00)   письмо автору
 
   для: cheops   (14.02.2009 в 14:56)
 

Да, я получил такой ответ:

Array ( [0] => 3 [1] => Array ( [0] => 29 [1] => 25 [2] => Hewlett Packard [3] => 2 ) [2] => Array ( [0] => 28 [1] => 25 [2] => Samsung [3] => 2 ) [3] => Array ( [0] => 27 [1] => 25 [2] => Epson [3] => 3 ) [4] => Array ( [0] => 26 [1] => 25 [2] => Canon [3] => 2 ) [5] => Array ( [0] => 25 [1] => 1 [2] => [3] => 0 ) [6] => Array ( [0] => 1 [1] => 0 [2] => [3] => 0 ) [7] => Array ( [0] => 3 [1] => 0 [2] => [3] => 0 ) )

Не могу взять в толк, как вытащить конкретный результат.
К примеру $names[0][2] в обычном написании.

  Ответить  
 
 автор: cheops   (14.02.2009 в 15:08)   письмо автору
 
   для: Dimonus   (14.02.2009 в 15:00)
 

Так и пишите. Следующий скрипт вам какой результат выдает?
<?php 
  $names
[] = array("Апельсин""sdsd","34342423","ppppp"); 
  echo 
$names[0][2]; // 34342423
?>

  Ответить  
 
 автор: Dimonus   (14.02.2009 в 15:12)   письмо автору
 
   для: cheops   (14.02.2009 в 15:08)
 

Вот внесение данных:

$array_cat[]=array($catid, $parent, $title, $count);

Вот скрипт:

Счетчик $count уменьшается в цикле

echo "<td width='10%'>";
echo "$count ! $array_cat[$count][3]</td>";

Вот результат:

7 ! Array[3]
6 ! Array[3]
5 ! Array[3]
4 ! Array[3]
3 ! Array[3]
2 ! Array[3]
1 ! Array[3]

  Ответить  
 
 автор: Trianon   (14.02.2009 в 15:16)   письмо автору
 
   для: Dimonus   (14.02.2009 в 15:12)
 

не надо пытаться подставлять в строках имена массивов (как минимум не зная семантики этой операции)
echo "$count ! ".$array_cat[$count][3]."</td>";

  Ответить  
 
 автор: Dimonus   (14.02.2009 в 15:19)   письмо автору
 
   для: Trianon   (14.02.2009 в 15:16)
 

Спасибо большое. Затупил что-то я. И знал ведь, но не подумал....

  Ответить  
 
 автор: Trianon   (14.02.2009 в 14:58)   письмо автору
 
   для: Dimonus   (14.02.2009 в 14:55)
 

echo '<pre>';
print_r($names);

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования