2012-01-27 5 views
0

, когда я пытаюсь скопировать элемент на массив в другой с помощью PHPPHP массива копирование ошибка

$new=array(); 
for($i=0;$i<$num;$i+3){ 
$new[] = $old[$i]; 
} 

он бросает ошибку Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes)

Мне нужно скопировать old «s элемента в new, пропуская два элемента между (нужно 1-й, 4-й, 7-й элементы .. пропуск 2-ой & 3-й, 5-й & 6, 8 & девятым)

предложить мне, как

обновление: решена --- СРЮ его опечатка ошибки ... ее глупо, но я играл главную роль @ мой код для 15мина и не нашел мою ошибку опечатки ... я скопировать код, как я выпрямляется

$new=array(); 
for($i=0;$i<$num;$i+=3){ 
$new[] = $vdo[$i]; 
} 

ответ

1

Наверняка есть опечатка. Заменить $i+3 с $i+=3. Вы просто попадаете в бесконечный цикл, и ваш массив $new растет из пропорции и памяти.

+0

спасибо, мне просто интересно, как печально ...;) – krishna

-1
$new=array(); 
for($i=0, $j=0;$i<$num;$i+=3, $j++){ 
$new[$j] = $old[$i]; 
} 
+0

Зачем вводить переменную, если вы можете обойтись? –