Алгоритм перебора массива в цикле

195
18 июля 2017, 20:56

Допустим с помощью php нужно в цикле вывести товары.
Есть два массива, один содержит названия товаров, второй содержит текст, указывающий наличие товара.

$instock = ['Нет в наличии', 'Заканчивается', 'в наличии'];
$title = ['title1', 'title2', 'title3', 'title4'];

нужно, чтобы когда цикл дошёл до последнего значения $instock, перебор этого массива начинался заново. Тоже самое нужно сделать и для массива названий.
К примеру: цикл(итерации)
1) title1 - Нет в наличии
2) title2 - Заканчивается
3) title3 - в наличии
4) title4 - Нет в наличии
5) title1 - Заканчивается
6) title2 - в наличии

for($i=0; $i < 8; $i++){ ?>
    <div class="product">
        <h2 class="title"><?php echo $title[?] ?></h2>
        <div class="instock">
            <span><?php echo $instock[?] ?></span>
        </div>
    </div>
<?php } ?>

как это сделать в цикле, какой алгоритм?
Желательно, чтобы можно было в последствии применить этот алгоритм на другом языке программирования, допустим на js, т.е. чтобы решение не зависело только от php-функций

Answer 1

Вместо первого ? напишите $i%count($title), а вместо второго ? $i%count($instock). % - это деление по модулю (остаток от деления). Таким образом если размер массива title равен 4, то счёт будет 0,1,2,3,0,1,2,3

READ ALSO
.htaccess rewrite rule

.htaccess rewrite rule

в чем смысл есть 2 домена proxytest

189
Создание страниц на основе табов

Создание страниц на основе табов

Помогите составить регулярное выражение

184
Проблемы с ЧПУ на php и .htaccess

Проблемы с ЧПУ на php и .htaccess

Здравствуйте, учу php, пытаюсь без фреймворка создать свою единую точку входа с ЧПУ для опыт

248