Php функция

  • Автор Автор THC
  • Начална дата Начална дата

THC

Registered
Здравейте :)
От доста време ме мъчи писането на една функция и не мога да измисля решение, затова реших да се допитам и до други хора:
Трябва ми функция, която да извършва следното нещо:
Имам масив с цялата латиница.
Трябва функцията да е така написана, че да мога да задавам аргумент - число и да съставя всички низове с дължина от даденото число.
Например пиша:
Код:
function(2);

и да ми връща

aa
ab
ac
и т.н. до az

после
ba
bb
bc
...
bz

после
ca
cb
cc
и т.н.

ако напиша
Код:
function(3);
aaa
aab
aac
и така до aaz
после aba -> abb

стига съм обяснявал, мисля че стана ясно.
Благодарности :)
 
Съвсем лесно е с range();, помъчи се ако запънеш ще ти драснем и примерче.
П.П. Ще брутфорсваш ли?
 
Функцията range() ми е позната, но не се сещам, как точно да направя така, че автоматично да минава после да почва от втората буква и т.н.
И да увеличава дължината на низа с 1 след като мине всички възможности
п.п. Нещо такова, но не точно
 
<?
function alphaorder($length) {
$alpha = array_merge(range('a', 'z'));
$order = '';
$a = 0;
do {
$curletter = $alpha[$a++];
$b = 0;
do {
$order .= $curletter.$alpha[$b++];
} while($b <= 25);
} while($a <= 25);
return wordwrap($order, $length, '<br>', true);
}
echo (alphaorder(2));
?>

Стигнах до тук и ме заболя главата. :D
 
ми според мен става с един масив само


$alpha = array(
'1' => 'a',
'2' => 'b',
'3' => 'c',
....
'26' => 'z'
);

functio a(){
global $alpha;

for($i = 0; $i <= count($alpha); $i++)
for($j = 1; $j <= count($alpha); $j++)
echo $alpha[$i].$alpha[j];
}


не сам го пробвал но така трябва и да стане ;]
 
Проблемът е решен, макар и не с помощта на потребител от форума.
Все пак давам +1 на главореза, защото бе първия, който даде някакво решение и опита да ми помогне
 

Back
Горе