Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Рекурсивная функция для перебора комбинаций массива
Форумы портала PHP.SU » » Вопросы новичков » Рекурсивная функция для перебора комбинаций массива

Страниц (1): [1]
 

1. kentyxa - 18 Января, 2016 - 18:25:19 - перейти к сообщению
Как написать рекурсивную функцию для нижеуказанного кода?

PHP:
скопировать код в буфер обмена
  1. $arr = array('a', 'b', 'c');
  2. $lim = count($arr);
  3.  
  4. for($i1 = 0; $i1 < $lim; $i1++) {
  5.     for($i2 = 0; $i2 < $lim; $i2++) {
  6.         for($i3 = 0; $i3 < $lim; $i3++) {
  7.        echo $arr[$i1].$arr[$i2].$arr[$i3].'<br>';
  8.         }
  9.     }
  10. }
2. Faraon-san - 19 Января, 2016 - 10:49:44 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $array = array('a', 'b', 'c', 'd', 'e');
  2. $count = count($array);
  3.  
  4. function recurcio(array $array, $count, $string = '')
  5. {
  6.         $count--;
  7.         foreach($array as $value)
  8.         {
  9.                 $string2 = $string.$value;
  10.                 if($count)
  11.                         recurcio($array, $count, $string2);
  12.                 else
  13.                         echo $string2.'<br>'.PHP_EOL;
  14.         }
  15. }
  16. recurcio($array, $count);

 

Powered by ExBB FM 1.0 RC1