null im funktionsaufruf
Fred
- php
hallo,
einzelne funktionen haben bei mir folgenden aufbau
function foobar($var1, $var2=null, $var3=null){
..
}
wenn ich nun die funktion zb wie folgt aufrufe:
foobar("abc",null, array("...","..."));
ist die $var2 0 und nicht NULL, soll das so sein? generell wird bei parameterübergabe aus NULL immer 0.
sl Fred
Hallo,
ist die $var2 0 und nicht NULL, soll das so sein? generell wird bei parameterübergabe aus NULL immer 0.
Ich nehme an, dass PHP schlicht annimmt, dass du 0 und nicht NULL meinst. Was gibt gettype bzw. is_null aus?
Gruß,
Severin
Hallo Fred,
einzelne funktionen haben bei mir folgenden aufbau
function foobar($var1, $var2=null, $var3=null){
..
}wenn ich nun die funktion zb wie folgt aufrufe:
foobar("abc",null, array("...","..."));
ist die $var2 0 und nicht NULL, soll das so sein?
Also bei mir ist das definitiv nicht so:
------------------------------
<?php
function foobar($var1, $var2=null, $var3=null) {
var_dump ($var1); var_dump ($var2); var_dump($var3);
}
foobar ("abc", null, array("...", "..."));
?>
------------------------------
ergibt:
------------------------------
string(3) "abc"
NULL
array(2) {
[0]=>
string(3) "..."
[1]=>
string(3) "..."
}
------------------------------
Also so, wie es sein sollte - sowohl bei PHP 4.3.11 als auch bei PHP 5.0.4.
Viele Grüße,
Christian
Hallo Fred,
wenn ich nun die funktion zb wie folgt aufrufe:
foobar("abc",null, array("...","..."));
ist die $var2 0 und nicht NULL, soll das so sein? generell wird bei parameterübergabe aus NULL immer 0.
Wahrscheinlich bist du über die automatische Typumwandlung von PHP gestolpert. Wenn du eine Rechenoperation mit $var2
ausführst und $var2
den Wert null
hat, wird dies automatisch nach 0
umgewandelt.
Sollte das nicht der Fall sein, beschreib bitte noch einmal genauer, wie du den Wert der Variable ermittelt hast.
Schöne Grüße,
Johannes