Как изменить ключи массива по возрастанию
Нужно вывести список фотографий ссылками последовательно 1 2 3 4 5, при условии что могут быть отображены не все фотографии, а лишь часть или совсем ничего. Для каждой фотографии в БД есть своя запись ссылки.
<?php
// Создаем отдельный массив со всеми 5 полями фотографий(пустыми и заполненными)
$array_of_photo = array($showUser['photo1'], $showUser['photo2'], $showUser['photo3'], $showUser['photo4'], $showUser['photo5']);
// Убираем из массива $array_of_photo все пустые поля, создаем массив с имеющимися фотографиями
$photos = array_filter($array_of_photo);
// Проходим цыклом по оставшимся фотографиям и если находим хотя бы одну фотографию, то отображаем "Фотографии:"
if (!empty($photos)){
echo "Фотографии: ";
foreach($photos as $key=>$photo)
{
echo " <a href='$photo'>", $key, "</a> ";
}
}
?>
Проблема в том что список выводится по ключам массива $photos, который может иметь разные ключи в зависимости от того какие поля заполнены в БД, например Array ( [0] => images.jpg [2] => images.jpg [4] => images.jpg ) и соответственно выводятся ссылки в порядке 0 2 4.
Подскажите как вывести список 1 2 3 . . Я думаю в сторону изменить значения ключей массива, но возможно все проще и можно вывести циклом, но я учусь и решаю эту задачу уже больше суток.
Ответы (1 шт):
Самое простое - введите счетчик $key, не связанный с массивом $photos:
$key = 1;
foreach($photos as $photo)
{
echo " <a href='$photo'>", $key, "</a> ";
$key++;
}