[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: функция для массива.
MatrixGod
всем привет!

написал функцию которая все элементы массива которые равны нулю перекидывает в конец массива. причем таким образом что те элементы которые не равны нулю остаются в том же порядке как были в исходном массиве.
функция работает отлично. но если первый элемент в массиве равен нулю - функция сходит с ума.
помогите вылечить... :)
<?

$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);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.