Functie maken
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
function table($naam, $adres, $datum)
{
echo '<tr><td>'.$naam.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$id.'</td></tr>';
$id++;
}
?>
<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td></tr>
<?
table("Naam 1", "Adres 1", "Datum 1");
table("Naam 2", "Adres 2", "Datum 2");
table("Naam 3", "Adres 3", "Datum 3");
?>
</table>
function table($naam, $adres, $datum)
{
echo '<tr><td>'.$naam.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$id.'</td></tr>';
$id++;
}
?>
<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td></tr>
<?
table("Naam 1", "Adres 1", "Datum 1");
table("Naam 2", "Adres 2", "Datum 2");
table("Naam 3", "Adres 3", "Datum 3");
?>
</table>
Maar nu is de vraag: Hoe kan ik aan iedere keer dat de functie table() word uitgevoerd de waarde van $id met 1 verhogen, dus $id++
Gewijzigd op 01/01/1970 01:00:00 door Scrptr
maar kan het ook in een functie, dit voorbeeld met tabellen is misschien niet zo goed, maar het is meer een oefening voor me.
*Bump*
Dit is te wijten aan de scope van de variabele...
$id is in de functie een lokale variabele die enkel en alleen bestaat indien de functie aangeroepen wordt en nadat de functie afgesloten wordt uit het geheugen verwijnd....
Je kan dit oplossen adhv :
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function table($naam, $adres, $datum)
{
static $id = 0;
echo '<tr><td>'.$naam.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$id.'</td></tr>';
$id++;
}
?>
<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td></tr>
<?
table("Naam 1", "Adres 1", "Datum 1");
table("Naam 2", "Adres 2", "Datum 2");
table("Naam 3", "Adres 3", "Datum 3");
?>
</table>
function table($naam, $adres, $datum)
{
static $id = 0;
echo '<tr><td>'.$naam.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$id.'</td></tr>';
$id++;
}
?>
<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td></tr>
<?
table("Naam 1", "Adres 1", "Datum 1");
table("Naam 2", "Adres 2", "Datum 2");
table("Naam 3", "Adres 3", "Datum 3");
?>
</table>
met de code static blijft de geheugenplaats voor $id bewaart
Gewijzigd op 01/01/1970 01:00:00 door Sab Kriksdeegir
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 table($naam, $adres, $datum)
{
global $id;
echo '<tr><td>'.$naam.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$id.'</td></tr>';
$id++;
}
?>
<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td></tr>
<?
$id = 1;
table("Naam 1", "Adres 1", "Datum 1");
table("Naam 2", "Adres 2", "Datum 2");
table("Naam 3", "Adres 3", "Datum 3");
?>
</table>
function table($naam, $adres, $datum)
{
global $id;
echo '<tr><td>'.$naam.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$id.'</td></tr>';
$id++;
}
?>
<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td></tr>
<?
$id = 1;
table("Naam 1", "Adres 1", "Datum 1");
table("Naam 2", "Adres 2", "Datum 2");
table("Naam 3", "Adres 3", "Datum 3");
?>
</table>
Dank voor jullie reacties, ik heb hem werkende volgens de code van SanThe
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$id=0;
function table($naam, $adres, $datum)
{
echo '<tr><td>'.$naam.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$id.'</td></tr>';
$id++;
}
?>
<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td></tr>
<?
$id = 1;
table("Naam 1", "Adres 1", "Datum 1");
table("Naam 2", "Adres 2", "Datum 2");
table("Naam 3", "Adres 3", "Datum 3");
?>
</table>
$id=0;
function table($naam, $adres, $datum)
{
echo '<tr><td>'.$naam.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$id.'</td></tr>';
$id++;
}
?>
<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td></tr>
<?
$id = 1;
table("Naam 1", "Adres 1", "Datum 1");
table("Naam 2", "Adres 2", "Datum 2");
table("Naam 3", "Adres 3", "Datum 3");
?>
</table>
ook
(of is dat Alleen JS)
@Jacco: Nee, op die manier is $id niet bekend in de function.
Code (php)
<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td><td>nr</td></tr>
</table>
Gewijzigd op 01/01/1970 01:00:00 door bart van der veen
dan kun je net zo goed met return werken