написал функцию которая все элементы массива которые равны нулю перекидывает в конец массива. причем таким образом что те элементы которые не равны нулю остаются в том же порядке как были в исходном массиве.
функция работает отлично. но если первый элемент в массиве равен нулю - функция сходит с ума.
помогите вылечить... :)
<?
$a = array(1,0,2,3,0,5,7,3,0,0,0,0,0,0,0,3,4,2,3,4,5,6,7,3,2,0);
for($i=0; $i<count($a); $i++)
if($a[$i] != 0)
{
if($i != 0)
{
$temp = $a[$last];
$a[$last] = $a[$i];
$a[$i] = $temp;
}
$last++;
}
foreach($a as $key)
echo $key." ";
?>
заранее спасибо!
Спустя 59 минут, 39 секунд (11.12.2010 - 14:21) twin написал(а):
Так проще:
$a = array(1,0,2,3,0,5,7,3,0,0,0,0,0,0,0,3,4,2,3,4,5,6,7,3,2,0);
$cnt = count($a);
for($i = 0; $i < $cnt; ++$i)
if($a[$i] === 0)
unset($a[$i]);
$a = array_pad($a, $cnt, 0);
var_dump($a);