Ситуация следующая: нужно, чтобы последнему элементу из подзаголовка добавлялся CSS-стиль "last", но почему-то, в первом заголовке это не работает, а во втором сработало... Долго искал ошибку в коде, но так и не получилось её найти. Код следующий: PHP: $names = $mysqli->query("SELECT `name` FROM `subthemes`"); $names_s = $mysqli->query("SELECT * FROM `sections`"); $arr_names = []; $arr_names_s = []; while (($row_1 = $names->fetch_assoc()) != false) $arr_names[] = $row_1; while (($row_2 = $names_s->fetch_assoc()) != false) $arr_names_s[] = $row_2; for ($i = 0; $i < count($arr_names); $i++) { $style_2 = false; $s_array = $arr_names_s; for ($m = 0; $m < count($arr_names_s); $m++) { if ($arr_names_s[$m]['subthemes'] != $arr_names[$i]['name']) continue; unset($s_array[$m]); $f = $m + 1; if (isset($s_array[$f])) { while ($f < count($s_array)) { if ($s_array[$f]['subthemes'] == $arr_names[$i]['name']) { $k = false; break; } $f++; } } if ($k === true) $style_2 = ' last'; } } P.S. Это не полный код, а лишь отрывки, отвечающие за CSS-стиль Массив arr_names_s имеет следующий вид: Код (Text): Array ( [0] => Array ( [id] => 1 [section] => php_dlya_chaynikov [name] => PHP для чайников [subthemes] => PHP [description] => Данный раздел содержит темы про PHP для чайников ) [1] => Array ( [id] => 2 [section] => php_dlya_guru [name] => PHP для гуру [subthemes] => PHP [description] => Данный раздел содержит темы про PHP для гуру ) [2] => Array ( [id] => 3 [section] => php_i_bazy_dannykh [name] => PHP и базы данных [subthemes] => БАЗЫ ДАННЫХ [description] => Данный раздел содержит темы про работу базы данных ) ) arr_names: Код (Text): Array ( [0] => Array ( [name] => PHP ) [1] => Array ( [name] => БАЗЫ ДАННЫХ ) )
Может, поможет: PHP: function last($a) { static $i=0; if (++$i==count($a)) { $i=0; return true; } return false; } Вместо == можно использовать >= для большей надежности. --- Добавлено --- Еще один пример в лоб: PHP: <?php $i=0; foreach ($page['content'][0] as $id=>$row): ?> <div class="counter<?= ++$i==count($page['content'][0])?' last':'' ?>"> <img src="/images/<?= $id ?>.png" class="counter-icon"> <h3 class="counter-num"><?= $row[0] ?></h3> <small class="counter-label"><?= $row[1] ?></small> </div> <?php endforeach; ?>
@hardway, достать из бд целиком две таблицы и соединить их на уровне php, это настолько неправильно, что я с трудом подбираю слова.