2 Stimmen

Symbol in PHP, das ich noch nie gesehen habe

Wahrscheinlich hätte ich das tun sollen, aber ich habe das noch nie gesehen. Ich bin darauf gestoßen, als ich mir die Dokumentation eines Smarty-Plugins angesehen habe.

$smarty =& new Smarty;

Insbesondere das Zeichen =&. Wenn Sie es in Google eingeben, wird es ignoriert, genau wie bei jeder anderen Suchmaschine. Wofür wird es verwendet?

Das Gleiche gilt für diese Funktionssignatur:

function connect(&$smarty, $reset = false)

Warum das Symbol &?

1voto

Pablo Santa Cruz Punkte 169147

& ist der Referenzoperator von PHP. Er wird verwendet, um einen Verweis auf ein Objekt zurückzugeben. In diesem Fall "new Smarty".

0voto

Tim Ebenezer Punkte 2666

Durch das kaufmännische Und wird der Variablen ein Verweis zugewiesen und nicht der Wert des Objekts.

0voto

krob Punkte 105

Einer der wichtigsten Verwendungszwecke des Operators ampersand ist die Weitergabe von Speicheradressen. Dies ist in der Regel dann der Fall, wenn eine Variable geändert, aber nicht zurückgegeben werden soll.

function test\_array(&$arr)
{
    $varr\[\] = "test2";
}
$var = array('test');
test\_array($var);

print\_r($var);

this should output

array( test , test2 );

Dies ist in der Regel der Fall, wenn Sie die aktuelle Kopie [Speicheradresse], mit der Sie arbeiten, an eine andere Funktion / ein anderes Objekt weitergeben müssen. Typischerweise wurde es in der Vergangenheit verwendet, um einen Mangel an Speicher zu lindern und die Leistung zu beschleunigen, es ist eine Funktion von C / C++ und ein paar andere Low-Level-Sprachen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X