Rand() function met strings
ik ben opzoek naar een functie zoals rand() maar dan een functie waarbij ik bijvoorbeeld 3 zinnen heb, en dat hij dan willekeurig 1 van die zinnen op het scherm schrijft. Waarschijnlijk is het heel makkelijk, maar ik er niet op komen..
groet jerry
Dat is toch dat de shuffle() maak de volgorde anders, dus dan krijg je (soms) een andere zin op nummer [0] en die echot hij dan. maar is er nog een andere manier, want een jaar geleden heb ik dat ook uitgezocht, maar weet het niet meer. En toen heb ik geloof ik iets anders gebruikt, kan dat?
Dit zoek je toch? Elke keer als je de pagina refresht dan echot hij een andere zin. Er zijn vast nog andere manieren, het was ook een voorbeeld.
Ja dit bedoel ik ook, maar ik heb nu die zinnen overgenomen, en de zinnen verandert. in één zin heb ik een € euroteken staan, maar hij geeft dan een driehoekje met vraagteken erin op het scherm, kan php geen eurotekens schrijven uit een array? Of wat?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$characters = array(
"A","B","C","D","E","F","G","H","J","K","L","M",
"N","P","Q","R","S","T","U","V","W","X","Y","Z",
"1","2","3","4","5","6","7","8","9");
$keys = array();
while(count($keys) < 3) {
$x = mt_rand(0, count($characters)-1);
if(!in_array($x, $keys)) {
$keys[] = $x;
}
}
foreach($keys as $key){
$random_chars .= $characters[$key];
}
echo $random_chars;
?>
$characters = array(
"A","B","C","D","E","F","G","H","J","K","L","M",
"N","P","Q","R","S","T","U","V","W","X","Y","Z",
"1","2","3","4","5","6","7","8","9");
$keys = array();
while(count($keys) < 3) {
$x = mt_rand(0, count($characters)-1);
if(!in_array($x, $keys)) {
$keys[] = $x;
}
}
foreach($keys as $key){
$random_chars .= $characters[$key];
}
echo $random_chars;
?>
principe hierboven is hetzelfde alleen dan met jou zinnen in de array.. eventueel zou je de while kunnen veranderen in een if/else statement
Gewijzigd op 02/10/2012 15:42:04 door Reshad F
Dankje Reshad! Maar ik gebruik toch die andere van Nick omdat die iets eenvoudiger is, maar toch hartelijk dank! Wel hoop ik dat iemand nog een antwoord weet op mijn andere vraag over het euroteken.
€
Volledig opgelost nu. Dankje!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
# Een lijst met willekeurige personen.
$personen = array('Kwik', 'Kwek', 'Kwak');
# 1 enkele persoon kiezen.
$the_chosen_one = $personen[ array_rand($personen) ]; // array_rand geeft 0, 1 of 2 terug in dit geval.
?>
# Een lijst met willekeurige personen.
$personen = array('Kwik', 'Kwek', 'Kwak');
# 1 enkele persoon kiezen.
$the_chosen_one = $personen[ array_rand($personen) ]; // array_rand geeft 0, 1 of 2 terug in dit geval.
?>