Advertisement
zero50x

Прогон цикла несколько раз без рекурсии

May 29th, 2015
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.66 KB | None | 0 0
  1. ## Первый вариант
  2. $run = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9);
  3.  
  4. function cleaner($run)
  5. {
  6.   $count_run = count($run);
  7.   $last = $count_run-1;
  8.      
  9.   for ($z = 0; $z < $count_run; $z++)
  10.   {
  11.       if($z == $last && $run[$z] == 9)
  12.       {
  13.           unset($run[$z]);
  14.           sort($run);
  15.           // Здесь начинаем использовать рекурсию
  16.           $run = cleaner($run);
  17.       }
  18.   }
  19.   return $run;
  20. }
  21.  
  22. $new_run = cleaner($run);
  23.  
  24.  
  25. ## Элегантный вариант
  26. for ($i = 0, $l = count($run) - 1; $i < $l; $i++) {
  27.      if (end($run) === 9) {
  28.          array_pop($run);
  29.          --$i;
  30.      }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement