| |
|
|
| | Уважаемые подскажите как решить вот такую задачу: есть папка, в ней куча картинок *.jpg нужно из неё, случайным образом выводить 5 картинок, но так, что бы они не совпадали!
вывести одну, получилось, а вот 5 не получается, а точнее очень часто повторяются! | |
| |
|
|
| |
|
|
| |
для: Diablo_
(19.10.2006 в 17:13)
| | | Не знаю каким образом вы выбираете картинки, но вот пример, как можно генерировать случайные числа, которые бы при этом не повторялись:
<?
$images = array();
while (count($images) != 5)
{
$ch = rand(1, 10);
if (!in_array($ch, $images)) // если в массиве такого нет
$images[] = $ch;
}
echo '<pre>'; print_r ($images);
?>
|
Соответственно нужно проверить той же ф-ей, еслить ли картинка в массиве или нету | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(19.10.2006 в 17:29)
| | | А если не числа? | |
| |
|
|
| |
|
|
| |
для: Diablo_
(19.10.2006 в 17:47)
| | | Тоже самое, что и с числами ... перед занесением строки в массив, проверяйте, есть ли в нем уже такая строка или нет
(сначала можно занести в массив пути ко всем картинкам, а уже после этого их выводить) | |
| |
|
|
| |
|
|
| |
для: Diablo_
(19.10.2006 в 17:13)
| | | Так :
<?
$c = 5; //сколько надо вывести
$images = glob('images/*jpg'); //в массив записываютьса адреса всех картинок в каталоге images
shuffle($images); //массив перемешиваеться
for ($i=0; $i<$c && $i < count($images) ; $i++) {
echo $images[$i]; //а вот и картинки
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: Temnovit
(19.10.2006 в 19:31)
| | | Огромное спасибо! | |
| |
|
|