Возможно, одним из наиболее распространенных способов использования массивов является применение их в качестве списков. Фактически большинство примеров, рассмотренных до настоящего момента, используют массивы именно как простые списки. В настоящем разделе будет показано, как применить список, основанный на массиве, для обеспечения достаточно специфической цели — автоматической генерации HTML-кода, предназначенного для отображения группы графических изображений.
Для этого примера определим массив $ images, который будет содержать список всех изображений, которые нужно отобразить. Затем воспользуемся им для создания необходимых HTML-дескрипторов <IMG>, которые выведут эти изображения на экран. В листинге 2.12 показан результирующий код.
Листинг 2.12. Динамическая генерация дескрипторов <IMG> из массива
<HTML>
<НЕА0ХТ1ТЬЕ>Использование массива как списка</Т1ТЬЕХ/НЕА0>
<BODY>
$images = arrayCimagel.jpg', 'image2.jpg', 'image3.jpg'); foreach($images as $val): ?>
<IMG SRC="/images/">
</BODY>
</HTML>
Взяв этот сценарий за основу, подумаем, как можно использовать массив для создания сценария, который будет отображать одно случайно выбранное изображение каждый раз при его выполнении. Чтобы сделать это с применением массива, очевидно, стоит представить еще одну РНР-функцию — array_rand (). Синтаксис этой функции следующий:
array_rand($input [, $num_desired])
Как видите, она принимает два параметра. Первый — $input — это входной массив.
Второй необязательный параметр — $num_desired — представляет собой целое, идентифицирующее количество случайно выбранных элементов, которые нужно получить из массива. Если второй параметр не указан, функция по умолчанию возвращает единственный случайно выбранный элемент. При выполнении эта функция либо возвращает скалярное значение, представляющее ключ из исходного массива, либо список ключей заданного количества случайно выбранных элементов исходного массива.
НА ЗАМЕТКУ
В РНР всякий раз, когда требуется получить случайное число (например, при использовании функции array_rand()), должна быть вызвана функция srand(), чтобы правильно инициализировать генератор случайных чисел.
Обладая этими знаниями, реализация сценария вывода случайно выбранного изображения становится тривиальной, как вы можете видеть в листинге 2.13.
Листинг 2.13. Сценарий вывода случайно выбранного изображения с применением функции array_rand()
<HTML>
<НЕА0ХТ1ТЬЕ>Сценарий вывода случайно выбранного изображения</Т1ТЬЕХ/НЕА0>
<BODY>
srand((doublejmicrotime()*1000000) ; $images = arrayCimagel.jpg1, 'image2.jpg', 'image3.jpg'); $rlmage = array_rand($images) ?>
<IMG SRC="">
</BODY>
</HTML>
|