Als ik een variable de waarde van een superglobal
zoals $_POST geefheeft dan de nieuwe variable
een superglobal status,
zodat ik het in een functie kan gebruiken ?
?
Onbekende gebruiker
15-12-2010 16:42
Sowieso zal die variabele nooit binnen de functie bestaan als die daar niet gedeclareerd is. Dit heeft een reden. Dat kan je lezen op php.net: [php]language.variables.scope[/php].
Sowieso zal die variabele nooit binnen de functie bestaan als die daar niet gedeclareerd is. Dit heeft een reden. Dat kan je lezen op php.net: [php]language.variables.scope[/php].
Ben ik mee bekend.
Maar een superglobal hoeft niet in een functie gedefinieerd te worden,
als $GLOBAL ,daarom vroeg ik me dus af of de variable de status van
super erft.
Als dat lesboek van je letterlijk $email = $_POST['email'] doet, dan is dat een fout en waarschijnlijk ook verouderd lesboek dat je best niet meer volgt.
... daarom vroeg ik me dus af of de variable de status van super erft ...
Niet dus.
<?php
$a = $_POST;
?>
$a zal hier een kopie krijgen van wat in $_POST staat. Enkel de waarden, niets meer. Gelijk welke aanpassing die je (na dit statement) aan $a brengt, zal geen gevolg hebben op $_POST. Omgekeerd trouwens ook niet.
$a krijgt ook niets speciaals aan rechten of zo.
Er is wel iets: objecten worden wel by reference bijgehouden. Stel dat er in $_POST een object staat, en je kopiëert die waarde, zullen beide variabelen naar het zelfde object blijven verwijzen.
Nu ja, objecten zou je niet te vaak tegenkomen in $_POST.
?
Onbekende gebruiker
15-12-2010 17:28
Kris Peeters op 15/12/2010 17:24:20
[quote="Mark de Grebber op 15/12/2010 17:03:20"]... daarom vroeg ik me dus af of de variable de status van super erft ...
Niet dus.
<?php
$a = $_POST;
?>
$a zal hier een kopie krijgen van wat in $_POST staat. Enkel de waarden, niets meer. Gelijk welke aanpassing die je (na dit statement) aan $a brengt, zal geen gevolg hebben op $_POST. Omgekeerd trouwens ook niet.
$a krijgt ook niets speciaals aan rechten of zo.
Er is wel iets: objecten worden wel by reference bijgehouden. Stel dat er in $_POST een object staat, en je kopiëert die waarde, zullen beide variabelen naar het zelfde object blijven verwijzen.
Nu ja, objecten zou je niet te vaak tegenkomen in $_POST.
[/quote]
Let wel op dat je nooit onnodig variabele moet kopiëren. En zeker niet met variabelen die door de gebruiker gezet worden.
Verder ligt het iets ingewikkelder hoe php met objecten omgaat: [php]language.oop5.references[/php].