Hallo,

Het is nogal een simpele vraag denk ik maar ik probeer een script te maken die op alle mogelijk wijzen letters en cijfer combinaties maakt van 2 tekens lang.

Dus zo iets:

a1
a2
a3
a3 etc.
aa
ab
ac
ad etc.
b1
b2
b3

etc. etc. etc.

Ik kom er helaas helemaal niet uit, dus als iemand even zou willen helpen zou dat fijn zijn.

Alvast bedankt.
Je kunt letters gewoon ++
dus een loopje met daarin een $var++ en die var heeft dan een string. Die wordt dan verhoogd.
Of met [php]range[/php].
Zoiets?

<?php

$letters = Array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', );


foreach ($letters as $letter1) {

foreach ($letters as $letter2) {
echo $letter1.$letter2.'<br />';

}
}

?>

Je kunt de array vullen met de tekens die je nodig hebt.
Mijne werkt beter, die van jou doet niet wat hij zegt en is ook veel te lomp vind ik:
<?php
$var = 'a1';
while($var != 'z9') {
echo $var++ . PHP_EOL;
if ( $var[1] == 9 && $var != 'a9' || $var == 'b0')
{
$old_var = $var;
if($var == 'b0') $var[0] = a;
$var[1] = 'a';
while($var[1] != 'z')
{
echo $var++ . PHP_EOL;
}
echo $var[0] . 'z' . PHP_EOL;
$var = $old_var;
}
}
echo $var;
?>

Snel in elkaar geflanst.
De PHP_EOL is voor een nieuwe regel. Test altijd binnen een <pre> dus dan is een <br> niet vereist.
Gelijk een mooi voorbeeld hoe je een string als array benaderd en hoe je gebruik maakt van een while (typische while situatie).
Edit: verkeerde code-sluit-tag.
Bedankt karl, dat is wat ik zocht! De rest ook bedankt :)
Kan toch veel korter?
<?php
$tekens = array_merge (range ('a', 'z'), range (0, 9));

foreach ($tekens as $t1) {
foreach ($tekens as $t2) {
echo '<pre>' . print_r ($t1 . $t2, true) . '</pre>';
}
}
?>
Ja, ik zeg ook niet dat mijn manier dé oplossing is. Maar iig al wel beter was.

Reageren