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 » PHP » Пользовательские функции » Генератор словарей

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

1. PHPandDelphi_User - 27 Октября, 2010 - 20:11:21 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $num= '0123456789';//Коллекция символов
  3. $s = '0'; // Минимальныцй символ (с какого начинать)
  4. $max = '999999999'; // каким заканчивать
  5. do{     echo "$s <br>";
  6.         IncrSTR($s);
  7.         //$dlina = strlen($s);
  8.         //mysql_query($stroka_zaprosa."password = '$s', length= $dlina");
  9.      } while ($s!== $max);
  10.  
  11. function IncrSTR (&$s) //Инкремент Строки
  12. {
  13.   global $num;
  14.   $b =false; //сначала ниего не изменяли
  15.    for ($i= (strlen($s)-1); $i>=0; $i--)  //от конца строки к началу
  16.           {
  17.    //если уже изменен какой-то символ, то вываливаемся из цикла
  18.        if ($b)  break;
  19.   //если максимальный символ то ставим минимальный                        
  20.            if ($s[$i] == $num[strlen($num)-1]) {$s[$i] = $num[0]; }
  21.            else{
  22.  //иначе прибавляем следующий по старшинству символ
  23.             $j = strpos ($num ,$s[$i]);
  24.             $s[$i] = $num[$j+1];
  25.             $b=true; //флаг "изменили символ" = истина
  26.              }
  27.         }
  28.      if (!$b) $s= $num[0].$s; //если ни одного символа не увеличили (т.е. все были
  29.                              //максимальными, теперьстали минимальными),
  30.                             // то к началу строки приписываем минимальный символ
  31.  }    

 

Powered by ExBB FM 1.0 RC1