Iemand een idee waarom unset niet altijd werkt?

WEL:
$a=1;
while ($a <= 196):
unset($_SESSION["WKD[$a]"]);
unset($_SESSION["RCN[$a]"]);
$a++;
endwhile;


NIET:
$a=1;
while ($a <= 196):
unset($_SESSION['WKD[$a]']);
unset($_SESSION['RCN[$a]']);
$a++;
endwhile;
Serge Girard op 18/07/2011 16:22:38

Het gebruik van enkle quotes. In de meeste programmeertalen is er geen wezenlijk verschil. Hier blijkbaar dus wel? SanThe, weet je misschien ook wat Aar bedoelt met die @ ervoor?

Informatie tussen dubbele quotes wordt door de PHP parser gehaald en eventuele aanwezige variabelen worden verwerkt. Informatie tussen enkele qoutes wordt niet door de PHP parser gehaald. Dit laatste is daarom sneller en komt dus ten goede aan de performance van je website.

Aha! De laatste 2 reacties geven precies aan wat ik wilde weten. Bedankt!
Toch vreemd dat het soms wel werkt. Waar ligt dat dan aan?
Het woordje 'soms' is ongelukkig gekozen. Bij dubbele werkt het wel en bij enkele niet. Maar hou $vars gewoon buiten de quotes en je hebt zekerheid.

Reageren