недавно спрашивала про сравнение чисел, ответ получила, только вот теперь встала задача задавать массив не вручную, а брать данные из БД.
Вот пример кода, который заменяет последовательность чисел интервалом.
<?php
$array = array(1234,1235,1236,1238,1237,1256,1258,1333,1344); // сначала сортируешь, потом перебираешь циклом.
$id = 0;
sort($array);
$newarray = array();
foreach($array as $k=>$v) {
if($v <= $id)
continue;
if($array[$k+1] == $array[$k]+1) {
$i = 1;
while(true) {
if(!in_array(($array[$k]+$i),$array)) {
--$i;
break;
}
$i++;
}
$newarray[] = $array[$k].'-'.$array[$k+$i];
$id = $array[$k+$i];
} else {
$newarray[] = $array[$k];
}
}
?>
<pre>
<?php print_r($newarray); ?>
</pre>
Здесь массив $array задается руками, а мне нужно брать из БД,
вот пример запроса
$query=mysql_query("select * from table");
while ($res_lab=mysql_fetch_array($res))
{
$array=$res_lab['number'];
echo $array;
}
а дальше идет код сортировки,
НО почему то этот массив $array не сортируется
Может кто знает как решить эту проблему?
Заранее спасибо