Stefan Welscher: Variablenwert wird aus versehen gelöscht??

Beitrag lesen

Hallo!
Habe gerade etwas wie ich finde sehr merkwürdiges:
ich hab ne function, der ich einen parameter "extension" übergebe, der später weiter verwendet werden soll. damit dieser parameter optional belibt, hab ich das ganze so gemacht:

"function copy_image($tmp_pic_nr,$extension=0)"

ich übergebe der funktion jetzt als extension den wert "main"

folgende ausgabe bringt auch das korrekte ergebnis:

function copy_image($tmp_pic_nr,$extension=0)
{echo "1.:".$extension."\n";
...

jetzt will ich sicherstellen, dass, wenn kein wert für extension angegeben wird, aber auch auf keinen fall der wert "0" ist.
also hab ich eine prüfung:

if (strlen($extension)!=0&&$extension==0) {unset ($extension); }

Das verblüffende ist jetzt für mich irgendwie, dass die If-Abfrage immer True ist. Also auch wenn extension den Wert "main" hat, wird die Variable gelöscht.

Kann mir einer sagen wieso und was ich dagegen tun kann?

Dank euch!