Functions voor toevoegen gegevens aan arrays...
Nu is dat niet direct het probleem, maar we moeten ook doormiddel van function VoegToe() dingen toevoegen aan die arrays.
En dat wil bij mij niet echt lukken... Ik heb zelf de volgende code weten op te stellen:
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
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
<?
$wnamen = array('Evelijn Visser', 'Gerda Achterop', 'Luc de Haan', 'Frederik Peppels');
$kamernummer = array(213,214,215,213);
$telefoon = array(4683,4677,'Unknown',4652);
$vak = array('Wiskunde', 'Nederlands', 'Unknown', 'Informatica');
function VoegToe($nnaam,$nkamernummer,$ntelefoon,$nvak){
if($nnaam == ""){ $nnaam = "Unknown"; }
if($nkamernummer == ""){ $nkamernummer = "Unknown"; }
if($ntelefoon == ""){ $ntelefoon = "Unknown"; }
if($nvak == ""){ $nvak = "Unknown"; }
array_push($wnamen, $nnaam);
array_push($kamernummer, $nkamernummer);
array_push($telefoon, $ntelefoon);
array_push($vak, $nvak);
}
VoegToe("Docentnaam","Kamernummer","Telefoon","Vakgebied");
$i = 0;
echo "<table><tr>\n";
echo "<td><strong>Naam</strong></td>\n";
echo "<td><strong>Kamernummer</strong></td>\n";
echo "<td><strong>Telefoon</strong></td>\n";
echo "<td><strong>Vak</strong></td>\n";
echo "</tr>\n";
foreach($wnamen as $value){
echo "<tr><td>$wnamen[$i]</td>\n";
echo "<td>$kamernummer[$i]</td>\n";
echo "<td>$telefoon[$i]</td>\n";
echo "<td>$vak[$i]</td></tr>\n";
$i++;
}
echo "</table>";
?>
$wnamen = array('Evelijn Visser', 'Gerda Achterop', 'Luc de Haan', 'Frederik Peppels');
$kamernummer = array(213,214,215,213);
$telefoon = array(4683,4677,'Unknown',4652);
$vak = array('Wiskunde', 'Nederlands', 'Unknown', 'Informatica');
function VoegToe($nnaam,$nkamernummer,$ntelefoon,$nvak){
if($nnaam == ""){ $nnaam = "Unknown"; }
if($nkamernummer == ""){ $nkamernummer = "Unknown"; }
if($ntelefoon == ""){ $ntelefoon = "Unknown"; }
if($nvak == ""){ $nvak = "Unknown"; }
array_push($wnamen, $nnaam);
array_push($kamernummer, $nkamernummer);
array_push($telefoon, $ntelefoon);
array_push($vak, $nvak);
}
VoegToe("Docentnaam","Kamernummer","Telefoon","Vakgebied");
$i = 0;
echo "<table><tr>\n";
echo "<td><strong>Naam</strong></td>\n";
echo "<td><strong>Kamernummer</strong></td>\n";
echo "<td><strong>Telefoon</strong></td>\n";
echo "<td><strong>Vak</strong></td>\n";
echo "</tr>\n";
foreach($wnamen as $value){
echo "<tr><td>$wnamen[$i]</td>\n";
echo "<td>$kamernummer[$i]</td>\n";
echo "<td>$telefoon[$i]</td>\n";
echo "<td>$vak[$i]</td></tr>\n";
$i++;
}
echo "</table>";
?>
In principe gaat alles goed, maar in bij de function geeft hij de volgende foutmeldingen:
Warning: array_push() [function.array-push]: First argument should be an array in D:\Xampp\htdocs\school\php2\2.php on line 8
Warning: array_push() [function.array-push]: First argument should be an array in D:\Xampp\htdocs\school\php2\2.php on line 9
Warning: array_push() [function.array-push]: First argument should be an array in D:\Xampp\htdocs\school\php2\2.php on line 10
Warning: array_push() [function.array-push]: First argument should be an array in D:\Xampp\htdocs\school\php2\2.php on line 11
Onder de foutmeldingen komen vervolgens netjes alle gegevens uit de bestaande arrays te staan.
Wat is er fout aan mijn functie? Ik ben nieuw op dit gebied, en hier kom ik nl. niet uit...
Je array()'s zijn niet bekend in een function. Gebruik global.
Je zou het op kunnen lossen door de betreffende variabelen als global te declareren binnen je functie:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
function VoegToe($nnaam,$nkamernummer,$ntelefoon,$nvak){
global $wnamen;
global $kamernummer;
global $telefoon;
global $vak;
if($nnaam == ""){ $nnaam = "Unknown"; }
if($nkamernummer == ""){ $nkamernummer = "Unknown"; }
if($ntelefoon == ""){ $ntelefoon = "Unknown"; }
if($nvak == ""){ $nvak = "Unknown"; }
array_push($wnamen, $nnaam);
array_push($kamernummer, $nkamernummer);
array_push($telefoon, $ntelefoon);
array_push($vak, $nvak);
}
?>
function VoegToe($nnaam,$nkamernummer,$ntelefoon,$nvak){
global $wnamen;
global $kamernummer;
global $telefoon;
global $vak;
if($nnaam == ""){ $nnaam = "Unknown"; }
if($nkamernummer == ""){ $nkamernummer = "Unknown"; }
if($ntelefoon == ""){ $ntelefoon = "Unknown"; }
if($nvak == ""){ $nvak = "Unknown"; }
array_push($wnamen, $nnaam);
array_push($kamernummer, $nkamernummer);
array_push($telefoon, $ntelefoon);
array_push($vak, $nvak);
}
?>
Het is niet echt een nette oplossing, maar het zal wel werken...
Thx. Het werkt nu:)