Задать вопрос
Xrist1An
@Xrist1An
задаю глупые вопросы

Как создать и вывести такой PHP массив?

Вроде простая задача, но я что-то залип. Итак сначала я создаю ассоциативный массив:

foreach ($photo_arr as $photo) {
$arr = array(
'mini' => 'thumbs/'.$photo, // адрес к миниатюрке фото
'big' => 'full/'.$photo //адрес к полноразмерному изображению
);
}


Окей, я не уверен, что правильно это сделал (поправьте если что-то не так). Теперь перейдем к его выводу, а нужно это сделать в следующую конструкцию:

<? foreach ($arr as $k => $val) { ?>
  <a href="<?=$val['big']?>">
    <img src="<?=$val['mini']?>">
  </a>
<? } ?>


Ну а вот тут я вообще плохо понимаю попал я или нет, но надеюсь вы поняли, что я хочу сделать. Собственно вопрос: что не так?
  • Вопрос задан
  • 2285 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
unclechu
@unclechu
<a href="<?=$arr['big']?>">
  <img src="<?=$arr['mini']?>">
</a>

С помощью foreach вы проходитесь по этому ассоциативному массиву, где на каждой итерации $k — это ключ ('mini', 'big'), и $val значение по ключу ('thumbs/'.$photo, 'full/'.$photo).

То-есть foreach попросту не нужен.

UPD: но судя по первому куску кода (вкл. режим телепатии), вы похоже хотите наполнить массив $arr другими ассоциативными массивами, тогда:

<?
$arr = array();

foreach ($photo_arr as $photo) {
  $arr[] = array(
    'mini' => 'thumbs/'.$photo, // адрес к миниатюрке фото
    'big' => 'full/'.$photo //адрес к полноразмерному изображению
  );
}
?>

<? foreach ($arr as $item) { ?>
  <a href="<?=$item['big']?>">
    <img src="<?=$item['mini']?>">
  </a>
<? } ?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы