maak 4 random rijen met 4 nummers
ik ben bezig met een script die 4 series van 4 getallen random aanmaakt.
Alleen 1 serie moet oplopend gesorteerd worden, de andere 3 door elkaar.
Geen van de 4 serie getallen mag gelijk zijn.
Dit is wat ik tot dusver heb:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$_SESSION['opdracht'] = array();
for ($i=0; $i<=3; $i++) {
// maak 4 rijen met 4 getallen en stop die in de opdracht array
$nummers = range(1, 10);
shuffle($nummers);
$nummers = array_slice ($nummers, 0, 4);
if ($i == 0) { sort ($nummers); }
array_push ($_SESSION['opdracht'], $nummers);
}
?>
$_SESSION['opdracht'] = array();
for ($i=0; $i<=3; $i++) {
// maak 4 rijen met 4 getallen en stop die in de opdracht array
$nummers = range(1, 10);
shuffle($nummers);
$nummers = array_slice ($nummers, 0, 4);
if ($i == 0) { sort ($nummers); }
array_push ($_SESSION['opdracht'], $nummers);
}
?>
Gewijzigd op 05/10/2018 10:28:23 door Sietsko Bos
Mooi :)
Gewijzigd op 05/10/2018 10:25:49 door - Ariën -
En wat is nu de vraag?
Wie kan me helpen het stukje php zo aan te passen dat het doet wat erboven in de tekst staat.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$_SESSION['opdracht'] = array();
// zolang we nog niet genoeg elementen in ons array hebben
while(count($_SESSION['opdracht']) < 4) {
// maak random lijstje van 4 getallen
$nummers = range(1, 10);
shuffle($nummers);
$nummers = array_slice ($nummers, 0, 4);
// als array nog leeg is, dan is het de eerste serie, dus sortern:
if (!$_SESSION['opdracht']) {
sort ($nummers);
}
// alleen als nog niet aanwezig, dan toevoegen
// de eerste is sowieso niet aanwezig btw.
if(!is_array($nummers, $_SESSION['opdracht'])) {
array_push ($_SESSION['opdracht'], $nummers);
}
}
?>
$_SESSION['opdracht'] = array();
// zolang we nog niet genoeg elementen in ons array hebben
while(count($_SESSION['opdracht']) < 4) {
// maak random lijstje van 4 getallen
$nummers = range(1, 10);
shuffle($nummers);
$nummers = array_slice ($nummers, 0, 4);
// als array nog leeg is, dan is het de eerste serie, dus sortern:
if (!$_SESSION['opdracht']) {
sort ($nummers);
}
// alleen als nog niet aanwezig, dan toevoegen
// de eerste is sowieso niet aanwezig btw.
if(!is_array($nummers, $_SESSION['opdracht'])) {
array_push ($_SESSION['opdracht'], $nummers);
}
}
?>
Gewijzigd op 05/10/2018 13:28:38 door Ivo P
Is het ook zo aan te passen dat de laatste 3 nooit oplopend zijn, dus alleen maar de eerste?
Dus mag bijvoorbeeld nooit: 1 - 3 - 5 - 9 zijn.
Gewijzigd op 05/10/2018 13:55:48 door Sietsko Bos
Want als je door toeval 4 getallen laat bepalen, kan dat prima "1,2,3,4" zijn.
Ik weet niet of het bij de lotto voorgekomen is, maar 6 of 7 cijfers opvolgorde kúnnen eruit komen.
Evenzo voor het geval het andere getallen zijn, maar toch oplopend.
Maar je zou kunnen toevoegen op regel 16
Ziet er eigenlijk ook simpel uit zo, maar het bedenken is een ander verhaal.
Nogmaals dank voor je hulp.