2016-03-18 20 views
0

Ich sehe häufig $var->another_var, oder $somevar=>yet_another, oder sogar $third_var->another=>$fourth_var in verschiedenen Code-Schnipsel.Einfachpfeil vs Doppelpfeil mischen und übereinstimmen

Gibt es irgendwo eine super erstaunliche Info-Grafik, die die verschiedenen Verwendungen und ihre Bedeutung, speziell in einem PHP-Kontext, klar erklärt?

(In meinem Fall mit Drupal, die viele Arrays, aber wahrscheinlich nützlich in vielen anderen Content-Management Systeme/Frameworks verwendet.)

EDIT: ich seitdem über eine allumfassende Seite informiert haben, dass hat eine sehr nützliche, enzyklopädische Liste verschiedener Symbole und Syntaxen. Ich glaube jedoch, dass ein Abschnitt, der dort nicht behandelt wird, die Mix-and-Match-Kombination von $ var-> element => $ anothervar ist.

+0

Die ursprüngliche Frage wurde bearbeitet, um die Eindeutigkeit zu betonen. Bitte neu bewerten. Vielen Dank! –

Antwort

1
  • $var->another_var ist "Eigenschaft another_var des Objekts durch $var referenziert".

  • $somevar=>yet_another wird in Array-Definitionen verwendet, so: $arr = array($somevar => yet_another). Es würde eine assoziative Eigenschaft mit Schlüssel gleich dem Wert der Variablen $somevar und Wert gleich der Konstante yet_another definieren.

  • $third_var->another=>$fourth_var kann neu geschrieben werden, so dass es mehr klar wird:

    array( /*key=*/ ($third_var->another) => /*value=*/ $fourth_var )` 
    
+0

Sehr hilfreich! Vielen Dank! –

2

Einzel arrow - T_OBJECT_OPERATOR

->

Dies wird verwendet für den Zugriff auf eine Objekteigenschaft und der Wert, der dieser Eigenschaft zugeordnet ist.

$object->property='value' 

Ich habe einen Hund und sein Name ist Kapitän

$dog->name='Captain'; 

Jetzt habe ich Zugriff auf die Eigenschaften meines Hundes. Die Eigenschaft, die wir gesetzt haben, ist Name

$dogName=$dog->name; 
echo $dogName; 

Will Ausgang: Captain

Ich kann auch andere Eigenschaften und dessen zugehörigen Wert auf mein Objekt hinzufügen.

$dog->weight='57lbs'; 

Jetzt hat mein Objekt zwei Eigenschaften, Name und Gewicht.

Doppelpfeil - T_DOUBLE_ARROW

=>

Wie in der documentation angegeben wird ein Array ist nur eine Karte von Komma getrennt Schlüssel und die mit dem Schlüssel verknüpften Werte. Der Doppelpfeil ist im Wesentlichen ein Zuweisungsoperator, der den Wert einem Schlüssel zuweist oder zuordnet.

$array = array("key" => "value"); 

Wieder mit dem Hund Beispiel.

Und wir können Werte in meinem Hund Array mit den entsprechenden Tasten zugreifen.

$fatDog = $dog["weight"]; 
echo $fatDog; 

Will Ausgang: 57lbs

Kombinationen von Einzel- und Doppelpfeil

$object->property=>$value; 

Dies kombiniert Objekt/Objekt mit Schlüssel/Wert. Wenn wir es in seine Bestandteile zerlegen, kann es die Dinge viel klarer machen.

Wir wissen, dass $object->property den mit der Eigenschaft verbundenen Wert ergibt. Fangen wir mit, dass mit einer Variablen zuordnet:

$valueAssociatedWithProperty = $object->property; 

Mit Substitution in die Original gibt:

$valueAssociatedWithProperty => $value; 

Wir haben gesehen, dass, bevor es ist nur der Schlüssel/Wert eines Arrays! Lassen Sie uns das auf das Hundebeispiel anwenden und sehen, was herauskommt:

$dog->name="Captain"; 
$description="He is crazy"; 
$array = array($dog->name => $description); 
// $array = array("Captain" => "He is crazy"); 
$whatIsCaptain = $array["Captain"]; 
echo $whatIsCaptain; 


He is crazy 

Ich hoffe, dass dies hilft.

Schauen Sie auch HERE für alle Referenzen, die Sie jemals hoffen konnten!