[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Массивы
Испанец
Всем здравствуйте.

Есть такой код:

foreach (glob("./master/images/ready/*.*") as $filename) {
$size = getimagesize($filename);
echo "<img src=\"$filename\" ".$size[3]." />"."\n";
}


Выводить такое:

<img src="./master/images/ready/a.jpg" width="800" height="605" /> 
<img
src="./master/images/ready/b.jpg" width="456" height="345" />
<img
src="./master/images/ready/c.jpg" width="99" height="75" />


Еще есть массив:

$alt = array("Aaa", "Bbb", "Ccc");


Как вывести такое?:

<img src="./master/images/ready/a.jpg" width="800" height="605" alt="Aaa" /> 
<img
src="./master/images/ready/b.jpg" width="456" height="345" alt="Bbb" />
<img
src="./master/images/ready/c.jpg" width="99" height="75" alt="Ccc" />


Спасибо за внимание.



Спустя 39 минут, 27 секунд (25.09.2010 - 22:15) SlavaFr написал(а):
а какая связь между масивами из glob и масивом $alt?
что произойдет если добавится или удалится картинка из папки?

Спустя 10 минут, 30 секунд (25.09.2010 - 22:26) mad/crs написал(а):
Сделать название фаила ключом в массиве $alt:
$alt = array ('a.jpg' => 'Aaa', 'b.jpg' => 'Bbb', 'c.jpg' => 'Ccc');

основной цикл сделать так:
foreach (glob("./master/images/ready/*.*") as $filename) {
$size = getimagesize($filename);
echo '<img src="',$filename,'" ',$size[3],(isset($alt[$filename]) ? ' alt="'.$alt[$filename].'"' : ''),' />"."\n";
}

Только следить надо чтобы ключь совпадал с названием фаила, ну или тогда "выкусывать" название без разрешения и ключь делать соответствующим.

Спустя 2 минуты, 37 секунд (25.09.2010 - 22:28) Испанец написал(а):
В массиве всегда столько же параметров, сколько картинок в папке (а в папке только картинки). Причем имена файлов имеют такой алфавитный порядок, который и нужен в массиве $alt. Вообщем, это не проблема.

Массив такой "какой есть", к сожалению, его трогать незя.

Спустя 27 минут, 6 секунд (25.09.2010 - 22:55) SlavaFr написал(а):
ты можеш масив и не трогать, но тебе нужна какято гарантия, что масивы соответствуют.

исползуй next($alt); в твоем foreach
http://www.php.net/manual/en/function.next.php

Спустя 19 минут, 35 секунд (25.09.2010 - 23:15) Испанец написал(а):
Спасибо. Всё заработало!

Жаль нельзя трогать массив, так как способ с проверкой мне нравится намного больше. Буду думать над тем, как можно подправить массив, а после вывода вернуть его в исходный вид.

Спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.