Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> масив 
V
    Опции темы
Zorak
Дата 30.3.2008, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



при написании сценария возникла проблема: Генерирую случайный многомерный масив целих чисел розмером 5х5 таким образом:

for ($i = 0, $j = 1; $i <= 4; $i++)
 {
   $mas[] = array($j => array(rand(1,100), rand(1,100), rand(1,100), rand(1,100), rand(1,100)));
   $j++;
 };

проблема в том, что я не знаю, как вивести сгенерированний многомерний (!!!) масив в броузер...пробовал через for() - не вишло(.....может подскажет кто ?..желательно с использованием <table></table>, но с етим в принцпе сам розберусь)))


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
Feldmarschall
Дата 30.3.2008, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



еще один for нужен.
PM   Вверх
Zorak
Дата 30.3.2008, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Цитата(Feldmarschall @ 30.3.2008,  00:42)
еще один for нужен.

Кт я догадался, яж написал, что пробовал, только никак не могу понять какие должны быть условия?


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
Feldmarschall
Дата 30.3.2008, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



Во-первых, условий никаких не нужно. 
Если ты о параметрах, то они стандантные. Переменную-счетчик надо в этих циклах делать разную, разумеется.
Во-вторых, если ты делал как-то, то почему бы тебе не показать - как именно? Ошибки проще исправлять реальные, а не виртуальные. Гораздо проще.

Проблема здесь, я считаю, не в конкретных параметрах, а в понимании работы с массивами. Если бы оно было, то затруднений не возникло. Ведь задача самая простая - перебрать массив по одному элементу и внутри цикла перебирать другой массив, который приходит из первого. Вот и все. Два элементарных цикла, вложеных один в другой.

Добавлено через 2 минуты и 49 секунд
Ой!
Ты сам-то смотрел, что у тебя в массиве получается?

Для чего тебе переменная $j при создании?

Это сообщение отредактировал(а) Feldmarschall - 30.3.2008, 10:04
PM   Вверх
Zorak
Дата 30.3.2008, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Цитата(Feldmarschall @ 30.3.2008,  10:03)
Ты сам-то смотрел, что у тебя в массиве получается?

Для чего тебе переменная $j при создании?

Да, смотрел, получается вполне нормальний масив 5х5, а $j - ето номер строки (ряда) масива....


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
Feldmarschall
Дата 30.3.2008, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



во-первых, ненормальный.
во-вторых, номер строки (ряда) тут не при чем. зачем тебе номер ряда в самом ряду?

смотри ещё раз, внимательнее.
PM   Вверх
LordsTN
Дата 30.3.2008, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 29.7.2007
Где: Kyrgyzstan

Репутация: нет
Всего: нет



print_r($mas);
PM MAIL WWW ICQ   Вверх
Zorak
Дата 30.3.2008, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Цитата(LordsTN @ 30.3.2008,  13:22)
print_r($mas);

так и проверял...вроде всё норм было....хорошо, что тут не правильно ?

for ($i = 0; $i <= 4; $i++)
 {
  for ($j = 0; $j <= 4 $j++)
    {
   $mas[$i][$j] = rand (1,100);
    };
 };

Добавлено через 4 минуты и 5 секунд
Цитата(Feldmarschall @ 30.3.2008,  13:01)
во-первых, ненормальный.
во-вторых, номер строки (ряда) тут не при чем. зачем тебе номер ряда в самом ряду?

смотри ещё раз, внимательнее.

$i - номер столбца, а $j - номер строки, тоесть если $mas[5][1] - ето последний елемент в первой строке) или я неправильно понимаю масиви в php, в таком случае толкните меня правильно


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
Feldmarschall
Дата 30.3.2008, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



не привыводе, а при создании зачем тебе $j?

Цитата(Zorak @  30.3.2008,  13:33 Найти цитируемый пост)
$mas[5][1] - ето последний елемент в первой строке)

если создавать элементы не автоматом, а как ты - с указанием индекса от балды, то вообще ничего нельзя сказать, какой это столбец или колонка.

если же делать массив по-человечески, то $mas[5][1] - это второй элемент в шестой строке

В общем, так.
сначала тебе надо сделать массив, не указывая в нем никаких индексов.
убери $j при создании массива.
убедись, что все индексы начинаются с нуля, а не от печки.

после этого сделай скрипт
Код

for ($i = 0; $i <= 4; $i++)
  $mas1=$mas[$i];
  // и здесь работаешь с массивом $mas1
};


и только после этого начинай учиться обращаться к элементам многомерного массива.
PM   Вверх
Zorak
Дата 30.3.2008, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Цитата(Feldmarschall @ 30.3.2008,  13:48)
не привыводе, а при создании зачем тебе $j?

Цитата(Zorak @  30.3.2008,  13:33 Найти цитируемый пост)
$mas[5][1] - ето последний елемент в первой строке)

если создавать элементы не автоматом, а как ты - с указанием индекса от балды, то вообще ничего нельзя сказать, какой это столбец или колонка.

если же делать массив по-человечески, то $mas[5][1] - это второй элемент в шестой строке

В общем, так.
сначала тебе надо сделать массив, не указывая в нем никаких индексов.
убери $j при создании массива.
убедись, что все индексы начинаются с нуля, а не от печки.

после этого сделай скрипт
Код

for ($i = 0; $i <= 4; $i++)
  $mas1=$mas[$i];
  // и здесь работаешь с массивом $mas1
};


и только после этого начинай учиться обращаться к элементам многомерного массива.

Да, нащот $mas[5][1] Спулжил, сори, должно быть [4][1], но следуя твоему обяснению, ето будет второй елемент пятой строки (, тоесть не так как я думал =).
Дальше $j я использовал, следуя учебнику))) там написано, чтоб определить многомерний масив:

$temps = array (
      1995 => array ("jan" = > 36, "feb" => 42, "mar" => 51),
      1996 => array ("jan" = > 37, "feb" => 42, "mar" => 49),
      1997 => array ("jan" = > 34, "feb" => 40, "mar" => 50)
);

вот  я и попитался загнать его в цикл, убравши индекси =)...благоларя тебе, я нормально уже создал масив, убрал етот $j) спасибо...
дальше...вивести тоже получилось следуя твоему примеру, за ето отдельное тебе спасибо))




--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
LordsTN
Дата 30.3.2008, 18:16 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 29.7.2007
Где: Kyrgyzstan

Репутация: нет
Всего: нет



Не знаю как другим, но мне кажется что использование многомерных массивов в реальном примере никому не понадобиться, если только не для обучения smile
PM MAIL WWW ICQ   Вверх
Zorak
Дата 30.3.2008, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Цитата(LordsTN @ 30.3.2008,  18:16)
если только не для обучения smile

+1...я учусь)...а для практики не знаю, времся покажет


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0519 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.