|
Если вы впервые на нашем форуме - ознакомьтесь с правилами
|
|
Здравствуйте, у меня 3 вопроса касающиеся создания многомерного массива и его сортировки в случайном порядке.
Пример:
Ваш любимый цвет?------Элемент внеш. массива
Зеленый-------------Элемент внутр. массива
Красный-------------Элемент внутр. массива
Желтый-------------Элемент внутр. массива
Любимое время года? ------Внешний массив
Лето-------------Элемент внутр. массива
Зима-------------Элемент внутр. массива
Осень-------------Элемент внутр. массива
1. Как создать такой массив?
2. Отсортировать в случайном порядке. (Нужно чтобы сами блоки вопросов и варианты ответов внутри каждого вопроса сортировались в случайном порядке, и конечно чтобы после сортировки, варианты ответов соответствовали своему вопросу)
3. Вывести массив.
У меня получается создать внутр. массив (где элементы – варианты ответов), а внешний по идее должен быть ассоциативным, но я не знаю как его так сделать и получается только численно индексированный. (А зачем мне 1,2,3… если мне нужна строка вопроса)
<?
$test=array(array(array("Зеленый"),
array("Красный"),
array("Синий"),
),
array(array("Лето"),
array("Зима"),
array("Осень"),
)
);
?>
Отсортировать случайным образом тоже получается только внутренние элементы,
<?
shuffle ($test);
//php 4
foreach ($test as $key=>$value)
{
shuffle($value);
$test[$key] = $value;
}
?>
но даже если и получается отсортировать внешние то теряется связь - вопросы перескакивают к чужим элементам.
Вот так я вывожу, но опять же внешний массив числено-индексированный, который мне не нужен.
<?
for ($layer = 0; $layer < 2; $layer++ )
{
echo "$layer<BR>";
for ( $row = 0; $row < 3; $row++ )
{
for ( $column = 0; $column < 1; $column++ )
{
echo " | " . $test[$layer][$row][$column] ;
}
echo "|<BR>";
}
};
?>
В общем, я понятия не имею, как это можно сделать. Функции писать сам я не умею.
Поэтому, пожалуйста, приведите полный листинг на живом примере, как создать такой массив, отсортировать случайно и вывести.
|
|
8 марта 2007, 02:05
|
|
Это сообщение было просмотрено: 15219 раз(а)
|
|