$i<sizeof($a)for ($i=0;$i<sizeof($a);$i++){
if (($a[$i]=='')&&($a[$i+1]=='')&&($a[$i+2]=='')&&($a[$i+3]=='')){ unset ($a[$i] , $a[$i+1] , $a[$i+2] , $a[$i+3]);
;}
$co = sizeof($a);
for ($i=0; $i<$co; $i++):
if ($a[$i]=='') && ($a[$i+1]=='') && ($a[$i+2]=='') && ($a[$i+3]=='')
unset ($a[$i] , $a[$i+1] , $a[$i+2] , $a[$i+3]);
endfor;
Здесь еще есть ошибка. А из for'а можно было и не вытаскивать.$co = sizeof($a);
<pre>
<?php
$a = array(3123, "", "", "", "", 2313, 12324, 124, "", "", "ffe", "", "", 2, "", "", "", "");
print_r($a);
echo "\n\n\n";
for ($i=0;$i<sizeof($a);$i += 3):
if (($a[$i]=='')&&($a[$i+1]=='')&&($a[$i+2]=='')&&($a[$i+3]==''))
unset ($a[$i] , $a[$i+1] , $a[$i+2] , $a[$i+3]);
endfor;
print_r($a);
?>
$co = sizeof($a);
for ($i=0;$i<$co;$i += 3):
if (($a[$i]=='')&&($a[$i+1]=='')&&($a[$i+2]=='')&&($a[$i+3]==''))
unset ($a[$i] , $a[$i+1] , $a[$i+2] , $a[$i+3]);
endfor;
Мне не надо запускать эти скрипты, чтобы увидеть в ОБОИХ наличие ошибок.умник епть..
а зачем тогда пишишь, что не надо вытаскивать из for?А из for'а можно было и не вытаскивать.
Мне не надо запускать эти скрипты, чтобы увидеть в ОБОИХ наличие ошибок.
умник епть..
"Не надо"? Неее, я не говорил... Это не я вообще был!а зачем тогда пишишь, что не надо вытаскивать из for?


Где ты видишь "НЕ НАДО"? МОЖНО не вытаскивать и это так.А из for'а можно было и не вытаскивать.
уверен, сам сможешь найти ошибку.$co = sizeof($a); - допускает обращение к несуществующим элементам массива.
В этом случае ДАЖЕ нужно вытаскивыать, короче..Где ты видишь "НЕ НАДО"? МОЖНО не вытаскивать и это так.
Наберись опытаВ этом случае ДАЖЕ нужно вытаскивыать, короче..

Так пора бы научиться решать ужея с такой проблемой очень часто встречаюсь...

Кто учится? Я его/ее знаю?УЧИТСЯ УЧИТСЯ УЧИТСЯ
Здесь ошибка в:PHP:$co = sizeof($a); for ($i=0;$i<$co;$i += 3): if (($a[$i]=='')&&($a[$i+1]=='')&&($a[$i+2]=='')&&($a[$i+3]=='')) unset ($a[$i] , $a[$i+1] , $a[$i+2] , $a[$i+3]); endfor;
А точнее $i += 3. Думаю, ты описался. Это очевидно. Указал к слову:PHP:for ($i=0;$i<$co;$i += 3)
К примеру у тебя первые 4 элемента пустые (с 0-го по 3-й). При первой итерации ($i = 0) ты удаляешь 0-й, 1-й, 2-й и 3-й элементы. В следующих итерациях ты будешь проверять 1-й, 2-й, 3-й... элементы. Но их нет!!! Мы их удалили!!! Чтобы не проверять элементы, которых нет, мы дополняем код:ОБА работают некорректно.
if (($a[$i]=='')&&($a[$i+1]=='')&&($a[$i+2]=='')&&($a[$i+3]=='')) {
unset ($a[$i] , $a[$i+1] , $a[$i+2] , $a[$i+3]);
$i += 3;
}
$co = sizeof($a) - 3;
из for'а можно было и не вытаскивать
for ($i = 0, $co = sizeof($a) - 3; $i < $co; $i++)
$a = array(3123, "", "", "", "", 2313, 12324, 124, "", "", "ffe", "", "", 2, "", "", "", "");
print_r($a);
for ($i = 0, $co = sizeof($a) - 3; $i < $co; $i++) {
if (($a[$i] == '') && ($a[$i + 1] == '') && ($a[$i + 2] == '') && ($a[$i + 3] == '')) {
unset ($a[$i] , $a[$i + 1] , $a[$i + 2] , $a[$i + 3]);
$i += 3;
}
}
print_r($a);
...почему бы просто не сделать массив двумерным?после каждых 4-х элемнтов стоит 5-ый элемент "next", который означает переход к следующим 4-ем. ты понял логику?