Array uit funktie halen
Ik ben in de loi cursus php bezig met een opdracht waarin we een bingoprogramma moeten schrijven. Hierin moet ik een array uit een funktie halen. Ik wou dit met een return doen, maar ik kan niet echt vinden hoe ik dit moet realiseren. Kan iemand even een duw in de rug geven?
Dit is wat ik tot nu toe heb. Nu wil ik de array uit de funktie kunnen halen.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Inzendopgave 051R3</title>
</head>
<body>
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
$bingokaart = array();
$bingo = FALSE;
$control = FALSE;
/*
* Hier de funktie om de bingokaart te vullen
*/
function FillCart()
{
$RowCounter = 0;
$counter = 0;
$min = 10;
$max = 19;
$BingoCart = array();
for ($RowCounter=0; $RowCounter <= 5; $RowCounter++) {
$BingoRow = array();
for ($counter=0; $counter <= 5;$counter++){
$rand = rand($min, $max);
while (in_array($rand, $BingoRow)) {
$rand = rand($min, $max);
}
$BingoRow [$counter] = $rand;
print_r($BingoRow[$counter]);
print_r(" ");
}
print_r("<br/>");
$min += 10;
$max += 10;
$BingoCart [$RowCounter] = $BingoRow;
}
}
//Aanroepen funktie FillCart om de bingokaart te vullen met nummers.
FillCart();
//Afdrukken van de bingokaart op het scherm.
?>
$bingokaart = array();
$bingo = FALSE;
$control = FALSE;
/*
* Hier de funktie om de bingokaart te vullen
*/
function FillCart()
{
$RowCounter = 0;
$counter = 0;
$min = 10;
$max = 19;
$BingoCart = array();
for ($RowCounter=0; $RowCounter <= 5; $RowCounter++) {
$BingoRow = array();
for ($counter=0; $counter <= 5;$counter++){
$rand = rand($min, $max);
while (in_array($rand, $BingoRow)) {
$rand = rand($min, $max);
}
$BingoRow [$counter] = $rand;
print_r($BingoRow[$counter]);
print_r(" ");
}
print_r("<br/>");
$min += 10;
$max += 10;
$BingoCart [$RowCounter] = $BingoRow;
}
}
//Aanroepen funktie FillCart om de bingokaart te vullen met nummers.
FillCart();
//Afdrukken van de bingokaart op het scherm.
?>
</body>
</html>
iets met return ?
Obelix en Idefix op 29/12/2014 11:56:36:
iets met return ?
Ik bedoel de waarde uit de functie met return uit de functie sturen. Maar aangezien we bij de loi pas leren wat we moeten weten nadat we het toegepast hebben is dit nog even abracadabra. Als ik lees op php.net vertellen ze dat een multidimensionale array niet zomaar met een return naar buiten gestuurd kan worden zoals ik het begrijp.
Code (php)
Zie online werkend op: http://codepad.org/ovZl0wzX
En als oplossing voor je vraag: http://codepad.org/vx2Y5clM
Lees even GOED wat ik heb gedaan, via de commentaren (oranje):
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
function FillCart()
{
$RowCounter = 0;
$counter = 0;
$min = 10;
$max = 19;
$BingoCart = array();
for ($RowCounter=0; $RowCounter <= 5; $RowCounter++) {
$BingoRow = array();
for ($counter=0; $counter <= 5;$counter++){
$rand = rand($min, $max);
while (in_array($rand, $BingoRow)) {
$rand = rand($min, $max);
}
$BingoRow [$counter] = $rand;
// print_r($BingoRow[$counter]);
//print_r(" ");
// hier slaan we het nummer even tijdelijk op in een array
$return[] = $BingoRow[$counter];
}
print_r("<br/>");
$min += 10;
$max += 10;
$BingoCart [$RowCounter] = $BingoRow;
}
// maak er een string van
$string = implode(" ", $return);
// stuur deze string terug, uit de functie
return $return;
}
//Aanroepen funktie FillCart om de bingokaart te vullen met nummers.
// let op dat dit nu als variabele gebruikt kan worden
$card = FillCart();
print_r($card);
?>
function FillCart()
{
$RowCounter = 0;
$counter = 0;
$min = 10;
$max = 19;
$BingoCart = array();
for ($RowCounter=0; $RowCounter <= 5; $RowCounter++) {
$BingoRow = array();
for ($counter=0; $counter <= 5;$counter++){
$rand = rand($min, $max);
while (in_array($rand, $BingoRow)) {
$rand = rand($min, $max);
}
$BingoRow [$counter] = $rand;
// print_r($BingoRow[$counter]);
//print_r(" ");
// hier slaan we het nummer even tijdelijk op in een array
$return[] = $BingoRow[$counter];
}
print_r("<br/>");
$min += 10;
$max += 10;
$BingoCart [$RowCounter] = $BingoRow;
}
// maak er een string van
$string = implode(" ", $return);
// stuur deze string terug, uit de functie
return $return;
}
//Aanroepen funktie FillCart om de bingokaart te vullen met nummers.
// let op dat dit nu als variabele gebruikt kan worden
$card = FillCart();
print_r($card);
?>
TROUWENS!
Onderstaande code doet exact hetzelfde, maar met minder regels:
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
function FillCart()
{
$getallen = range(1, 70); // van 1 tm 70
shuffle($getallen); // gooi ze overhoop
$getallen = array_slice($getallen, 0, 24);
return ($getallen);
}
$card = FillCart();
print_r($card);
?>
function FillCart()
{
$getallen = range(1, 70); // van 1 tm 70
shuffle($getallen); // gooi ze overhoop
$getallen = array_slice($getallen, 0, 24);
return ($getallen);
}
$card = FillCart();
print_r($card);
?>
Let wel: de 24 geeft aan dat je 24 getallen krijgt. De middelste van de 5 rijen (midden, midden) is altijd joker toch?
En een bingo-kaart heeft 5x5 (=25) hokjes... dus heb je 24 getallen nodig.
Wil je meer: gewoon even getal aanpassen ;).
Online: http://codepad.org/isJeU8qR
Gewijzigd op 29/12/2014 12:28:38 door Eddy E
Eddy E op 29/12/2014 12:16:15:
Dat moet makkelijk kunnen:
Zie online werkend op: http://codepad.org/ovZl0wzX
En als oplossing voor je vraag: http://codepad.org/vx2Y5clM
Lees even GOED wat ik heb gedaan, via de commentaren (oranje):
TROUWENS!
Onderstaande code doet exact hetzelfde, maar met minder regels:
Let wel: de 24 geeft aan dat je 24 getallen krijgt. De middelste van de 5 rijen (midden, midden) is altijd joker toch?
En een bingo-kaart heeft 5x5 (=25) hokjes... dus heb je 24 getallen nodig.
Wil je meer: gewoon even getal aanpassen ;).
Online: http://codepad.org/isJeU8qR
Code (php)
Zie online werkend op: http://codepad.org/ovZl0wzX
En als oplossing voor je vraag: http://codepad.org/vx2Y5clM
Lees even GOED wat ik heb gedaan, via de commentaren (oranje):
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
function FillCart()
{
$RowCounter = 0;
$counter = 0;
$min = 10;
$max = 19;
$BingoCart = array();
for ($RowCounter=0; $RowCounter <= 5; $RowCounter++) {
$BingoRow = array();
for ($counter=0; $counter <= 5;$counter++){
$rand = rand($min, $max);
while (in_array($rand, $BingoRow)) {
$rand = rand($min, $max);
}
$BingoRow [$counter] = $rand;
// print_r($BingoRow[$counter]);
//print_r(" ");
// hier slaan we het nummer even tijdelijk op in een array
$return[] = $BingoRow[$counter];
}
print_r("<br/>");
$min += 10;
$max += 10;
$BingoCart [$RowCounter] = $BingoRow;
}
// maak er een string van
$string = implode(" ", $return);
// stuur deze string terug, uit de functie
return $return;
}
//Aanroepen funktie FillCart om de bingokaart te vullen met nummers.
// let op dat dit nu als variabele gebruikt kan worden
$card = FillCart();
print_r($card);
?>
function FillCart()
{
$RowCounter = 0;
$counter = 0;
$min = 10;
$max = 19;
$BingoCart = array();
for ($RowCounter=0; $RowCounter <= 5; $RowCounter++) {
$BingoRow = array();
for ($counter=0; $counter <= 5;$counter++){
$rand = rand($min, $max);
while (in_array($rand, $BingoRow)) {
$rand = rand($min, $max);
}
$BingoRow [$counter] = $rand;
// print_r($BingoRow[$counter]);
//print_r(" ");
// hier slaan we het nummer even tijdelijk op in een array
$return[] = $BingoRow[$counter];
}
print_r("<br/>");
$min += 10;
$max += 10;
$BingoCart [$RowCounter] = $BingoRow;
}
// maak er een string van
$string = implode(" ", $return);
// stuur deze string terug, uit de functie
return $return;
}
//Aanroepen funktie FillCart om de bingokaart te vullen met nummers.
// let op dat dit nu als variabele gebruikt kan worden
$card = FillCart();
print_r($card);
?>
TROUWENS!
Onderstaande code doet exact hetzelfde, maar met minder regels:
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
function FillCart()
{
$getallen = range(1, 70); // van 1 tm 70
shuffle($getallen); // gooi ze overhoop
$getallen = array_slice($getallen, 0, 24);
return ($getallen);
}
$card = FillCart();
print_r($card);
?>
function FillCart()
{
$getallen = range(1, 70); // van 1 tm 70
shuffle($getallen); // gooi ze overhoop
$getallen = array_slice($getallen, 0, 24);
return ($getallen);
}
$card = FillCart();
print_r($card);
?>
Let wel: de 24 geeft aan dat je 24 getallen krijgt. De middelste van de 5 rijen (midden, midden) is altijd joker toch?
En een bingo-kaart heeft 5x5 (=25) hokjes... dus heb je 24 getallen nodig.
Wil je meer: gewoon even getal aanpassen ;).
Online: http://codepad.org/isJeU8qR
Dank je Eddy,
Ik heb iedere keer print_r($variable)gedaan maar ik moet dus de functie printen en niet de variable.
Het probleem is dat we alleen met de al behandelde stof mogen werken. Hier zitten alle dingen zoals shuffle enzo nog niet bij. Vandaar de moeilijkere en minder mooie aanpak.
Bedankt voor de hulp, nu kan ik weer verder.
Gewijzigd op 29/12/2014 12:59:20 door Bas Onbekend
Je oefening is puur het oefenen van loopjes, ik ga die volledig uit de weg.
Daardoor mis je het doel van je oefening: en 'mag' het niet anders.
Eddy E op 29/12/2014 13:12:08:
Je hebt toch php.net mogen gebruiken? Daar komt dit vandaan.
Je oefening is puur het oefenen van loopjes, ik ga die volledig uit de weg.
Daardoor mis je het doel van je oefening: en 'mag' het niet anders.
Je oefening is puur het oefenen van loopjes, ik ga die volledig uit de weg.
Daardoor mis je het doel van je oefening: en 'mag' het niet anders.
Ja als je het zo bekijkt zou alles toegestaan zijn. Het oefenen is het belangrijkste hierin.
Gewijzigd op 29/12/2014 13:35:04 door Bas Onbekend