romanich
Новичок
Вопрос по массиву
Есть sql-запрос, который выводит следующее
Распечатываем запрос:
и получаем
0Северо-Западный ФО
0Архангельская область (21) * 1Вологодская область (1) * 2Санкт-Петербург (61) *
3Центральный ФО
3Москва (1) *
4Южный ФО
4Астраханская область (1) *
Вопрос. Как определить последний элемент в группе, название условное. В данном случае, этими элементами будут являться: 2Санкт-Петербург (61) * , 3Москва (1) * , 4Астраханская область (1) * для того чтобы удалить в конце строки лишние пробелы, знак "*", возможно, вставить какие-нибудь html-теги.
Первое, что пришло на ум это сделать проверку на условие, если следующий (next) $list_town_array[0] != $id_fo, то $list_town_array[3] и есть последний элемент в группе. Но в этом случае нужно будет next'ом слишком много перебирать. А в дальнейшем если запрос изменится, добавятся поля и все тогда.
Как решить данную задачу. Заранее, спасибо.
Есть sql-запрос, который выводит следующее
Код:
id_fo name id_fo name link_town COUNT(town.id_fo) COUNT(id)
1 Северо-Западный ФО 1 Архангельская область arkhangelsk_area 21 85
1 Северо-Западный ФО 1 Вологодская область vologda_area 1 85
1 Северо-Западный ФО 1 Санкт-Петербург spb 61 85
2 Центральный ФО 2 Москва moscow 1 85
4 Южный ФО 4 Астраханская область astrakhan_area 1 85
PHP:
<?php
$list_town_num = mysql_num_rows($list_town);
//$id_fo = -1;
for ($i = 0; $i < $list_town_num; $i++)
{
$list_town_array = mysql_fetch_array($list_town);
if ($id_fo != $list_town_array[0])
{
// Выводим Федеральные округа
echo "\n<div class='block_center2'>\n";
echo $i."<b>".$list_town_array[1]."</b><br>\n";
$id_fo = $list_town_array[0];
}
// Выводим субъекты РФ
echo $i."<a href='http://".$HTTP_HOST."/catalog/".$list_town_array[4]."/'>".$list_town_array[3]."</a> (".$list_town_array[5].") * ";
}
?>
0Северо-Западный ФО
0Архангельская область (21) * 1Вологодская область (1) * 2Санкт-Петербург (61) *
3Центральный ФО
3Москва (1) *
4Южный ФО
4Астраханская область (1) *
Вопрос. Как определить последний элемент в группе, название условное. В данном случае, этими элементами будут являться: 2Санкт-Петербург (61) * , 3Москва (1) * , 4Астраханская область (1) * для того чтобы удалить в конце строки лишние пробелы, знак "*", возможно, вставить какие-нибудь html-теги.
Первое, что пришло на ум это сделать проверку на условие, если следующий (next) $list_town_array[0] != $id_fo, то $list_town_array[3] и есть последний элемент в группе. Но в этом случае нужно будет next'ом слишком много перебирать. А в дальнейшем если запрос изменится, добавятся поля и все тогда.
Как решить данную задачу. Заранее, спасибо.