PHP 7 - Anonyme Klassen Instanzen vergleichen

8

Ich habe diesen Code ausprobiert:

%Vor%

Das Ergebnis der obigen Vergleiche sind alle false .

Wenn ich jedoch eine Funktion deklariere, die eine anonyme Klasse zurückgibt, ist dies das Ergebnis:

%Vor%

Alles gedruckt true .

Nun ist die Frage, wie ist das passiert? Vor allem, warum hat es true für den zweiten Kontext gedruckt, wissend, dass jeder var_dump() der Instanzen unterschiedlich ausfällt?

    
Rax Weber 06.10.2016, 08:59
quelle

1 Antwort

5

Aus doc Ссылка

  

Alle Objekte, die von derselben anonymen Klassendeklaration erzeugt werden, sind Instanzen genau dieser Klasse.

%Vor%
  

Das obige Beispiel gibt aus: selbe Klasse

Und von Ссылка

  

Bei Verwendung des Vergleichsoperators == werden Objektvariablen auf einfache Weise verglichen, nämlich: Zwei Objektinstanzen sind gleich, wenn sie dieselben Attribute und Werte haben (Werte werden mit == verglichen) und sind Instanzen der gleiche Klasse.

    
Luca Rainone 06.10.2016, 09:11
quelle

Tags und Links