2013-07-16 2 views
0

У меня есть функция, которая возвращает некоторые значения. Я хочу поместить эти значения в массив после проверки наличия текущего значения. Я написал следующий код:php для цикла для массива, который принимает значения из функции

$return[0]=myexec_proc($varsearch,$get_input1); 

if (isset($return[0])){ 
$return[1]=myexec_proc($varsearch,$return[0]); 
} 
if (isset($return[1])){ 
$return[2]=myexec_proc($varsearch,$return[1]); 
} 
if (isset($return[2])){ 
$return[3]=myexec_proc($varsearch,$return[2]); 
} 
if (isset($return[3])){ 
$return[4]=myexec_proc($varsearch,$return[3]); 
} 

, который работает, как я хочу, но мне нужно сделать это с циклом.
Я попытался это:

$return=array(); 

for($i=0; $i=3; $i++){ 
if (isset($return[$i])){ 
$return[$i+1]=myexec_proc($varsearch,$return[$i]); 
}} 

, но я не получаю никаких данных и через некоторое время я получаю PHP фатальной ошибки «Максимальное время выполнения 30 секунд превышены».
Любые советы о том, что я делаю неправильно, будут оценены.

+0

Это неправильный формат для цикла for; вам нужно 'for ($ i = 0; $ i <= 3; $ i ++) {' - ваш будет бесконечно зацикливаться, как вы заметили. – andrewsi

+0

спасибо, это сработало. Я думал, что оба пути правильные, поэтому я не проверял тот, который вы написали. : S – georgia

+0

Простая ошибка - вы думаете, что PHP будет обозначать ее как ошибку, но, по-видимому, это допустимый синтаксис. Я просто надеюсь, что никогда не найду код, где требуется эта функциональность .... – andrewsi

ответ

0

Неправильное второе условие вашего цикла for. Вы назначаете от $ i до 3 вместо проверки его как условного.

Это должно быть что-то вроде этого:

for($i=0; $i<=3; $i++){ 
     if (isset($return[$i])){ 
      $return[$i+1]=myexec_proc($varsearch,$return[$i]); 
     } 
    } 
0

Для петель требуется условие, которое они цикл вплоть до. Добавьте меньше, чем оператор, чтобы сделать запуск запустимым.

for ($i=0; $i<=3; $i++) { 
    if (isset($return[$i])) { 
    $return[$i+1]=myexec_proc($varsearch,$return[$i]); 
    } 
} 
Смежные вопросы