Мне нужно написать функцию PHP, но на самом деле у меня есть математический вопрос.
У меня есть переменное количество результатов.
Я хочу напечатать результаты в чередующихся строках по 3 и 4 столбца.
Для этого мне нужно знать для каждого результата, в каком типе строки он находится (ака, сколько столбцов у него есть).
Я знаю, что могу сделать это в PHP, используя 2 переменные, но я предполагаю, что если математическая функция рассчитывает для каждого элемента (который имеет индекс, начинающийся с 0), в каком типе строки он находится.
Вы можете использовать эту формулу, чтобы определить, в какой строке вы находитесь.
$className = (($index % 7) < 3 ? 'row-with-three' : 'row-with-four')
Поскольку шаблон повторяет каждые 7 объектов, мы начинаем с переноса значения вокруг, $index % 7
, Это обеспечит значение между 0
а также 6
включительно. Затем мы можем проверить, является ли это одним из первых трех, выполнив < 3
, если это так, то это строка с тремя объектами. В противном случае у него есть четыре объекта.
используйте count (), чтобы понять это за вас.
<?php
for( $i=0; $r=mysqli_fetch_assoc( $query ); $i++ ){
if( count( $r ) == 4 ){
echo "<tr><td></td><td></td><td></td><td></td></tr>";
}
if( count( $r) == 3 ){
echo "<tr><td></td><td></td><td colspan=\"2\"></td></tr>";
}
}
?>