2015-02-26 4 views
-1

Например, у меня есть следующий скрипт.Как продолжить скрипт php после использования exit()/die()

в этом случае я хочу, чтобы получить значение X1 и Y1 но выход() не давая мне сделать так

пожалуйста, помогите заранее спасибо и особую благодарность Марку Setchell: P (если он видит это)

image link

$im = imagecreatefromjpeg("omr.jpg"); 
for($x=0;$x<100;$x++) { 

    for($y=0;$y<100;$y++) 
          { 

$rgb = imagecolorat($im,$x,$y); 
     $r = ($rgb >> 16) & 0xFF; 
     $g = ($rgb >> 8) & 0xFF; 
     $b = $rgb & 0xFF; 
     if($r<128 && $g<128 && $b<128){ 
     printf("%d,%d: %d,%d,%d\n",$x,$y,$r,$g,$b); 
     exit; 
            } 
          } 
         } 

for($x1=1170;$x1<1270;$x1++){ 

for($y1=0;$y1<100;$y1++){ 

      $rgb = imagecolorat($im,$x1,$y1); 

      $r1 = ($rgb >> 16) & 0xFF; 
      $g1 = ($rgb >> 8) & 0xFF; 
      $b1 = $rgb & 0xFF; 
      if($r1<128 && $g1<128 && $b1<128){ 
      printf("%d,%d: %d,%d,%d\n",$x1,$y1,$r1,$g1,$b1); 
      exit; 
     } 
     } 
    } 

выходной ток: 30,53: 123.119.118

Желаемый результат: 30,53: 123.119.118

1217,55: 115.114.112

+0

Так почему же вы используете exit/die then? «Вывести сообщение и __terminate__ текущего скрипта» .... какая часть «прекратить» вы не понимаете? –

+0

Выход не является правильной функцией. Наверное, тебе нужен перерыв или возвращение. – Blaatpraat

+0

Фактически я новичок в php , и я даже не знаю всех функций php! поэтому я спросил , но некоторые проголосовали за меня ngtv! : 3 –

ответ

3

Вы можете использовать break 2; для разрыва от двух вложенных циклов, и следующий цикл for для x1 и y1 также будет выполнен.

+0

Сказал (а) спасибо: D Это сработало: D –

+0

Очень хорошо пятнистый. + 1 –

1

exit

выход - Выход сообщение и прекращает ток сценарий

die

умирают - Эквивалент выхода

Таким образом, вы не можете сделать это, период. Однако вы можете пересмотреть свое решение, где вам не нужно использовать exit, потому что вы хотите продолжить выполнение, тогда exit находится не в том месте.

Теперь для решения: вы можете выйти из своей петли, когда ваше условие выполнено.

break

перерыв заканчивается выполнение тока для, Еогеаспа, в то время, сделайте время или переключатель структуру.

Таким образом, ваша петля закончится, и вы сможете перейти к следующему циклу без выхода.

0

Вы не должны использовать die() или exit(), вместо этого вы должны использовать функцию break. Click Here, для получения дополнительной информации.

exit() or и die() следует использовать только в том случае, если вы хотите закончить сценарий.

exit - вывести сообщение и завершить текущий сценарий docs here.

die - Эквивалент выхода, документы here.

1

Uhm, это невозможно.

exit;    // equal to: die; 
exit();   // equal to: die(); 
exit('I died'); // equal to: die('I died'); 

- это языковая конструкция, предназначенная для уничтожения процесса PHP. Как Manual говорит:

Вывод сообщения и завершить текущий сценарий

Не используйте его, если вы хотите скрипт для продолжения.

В цикле можно использовать два costructs вы можете быть заинтересованы в:

break; - Сразу заканчивается цикл и продолжает код после цикла
continue; - сразу перескакивает текущей итерации цикла и переходит к следующей итерации

0

Проверить http://php.net/manual/en/control-structures.break.php

в зависимости от вашего объема, вы можете использовать перерыв 1 или сломаться 2,

$i = 0; 
    while (++$i) { 
     switch ($i) { 
     case 5: 
      echo "At 5<br />\n"; 
      break 1; /* Exit only the switch. */ 
     case 10: 
      echo "At 10; quitting<br />\n"; 
      break 2; /* Exit the switch and the while. */ 
     default: 
      break; 
     } 
    } 
0

Вы не можете запустить скрипт после die() или exit() до, если не использовать условие или переключатель заявление.

0

Возможно, вы захотите запустить фоновый php-процесс, если хотите продолжить выполнение сценариев после того, как страница была отображена, если только вы не попросите просто запустить дополнительные изменения на странице, когда цикл for был завершен, в этом case a break; было бы лучше.

stack overflow php background process

Смежные вопросы