Jan: &-Befehl

Was bedeutet das & z.b. beim fsockopen beim &$errno

z.b. bei diesem Script:

$fp = fsockopen ("www.php.net", 80, &$errno, &$errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\n\r\n");
while (!feof($fp)) {
echo fgets ($fp,128);
}
fclose ($fp);
}

  1. Hi Jan,

    Was bedeutet das & z.b. beim fsockopen beim &$errno
    $fp = fsockopen ("www.php.net", 80, &$errno, &$errstr, 30);

    Das & ergibt eine 'Referenz' auf $errno.

    In diesem Fall wird fsockopen() damit die Möglichkeit gegeben in diese
    Variablen hineinzuschreiben. Normalerweise wird bei einem Funktionsauf
    der Inhalt(Wert) der Varibalen übergegen. Die Funktion kann damit machen
    was sie will _ohne_ das sich der Wert beim Aufrufer ändert.
    Mit dem & davor wird die Variable selber übergeben. Die Funktion kann
    deren Wert also ändern und der Wert ändert sich beim Aufrufer. (Bzw.
    bekommt überhaupt erst einen.)

    http://www.php-center.de/de-html-manual/language.references.html#language.references.whatare
    (Leider noch nicht deutsch.)

    Gruss,
    Carsten

    1. Danke!

      Jan