Zugriff auf von Funktionen zurückgegebene Arrays in PHP
Stellen Sie sich das Szenario vor, in dem Sie über eine Vorlagen-Engine verfügen, die Code basierend auf Ihren angegebenen Speicherorten einfügt. Um eine bestimmte Bedingung zu testen, haben Sie eine Funktion erstellt:
myfunction() { return '($this->data["a"]["b"] ? true : false)'; }
Der private Charakter von $this->data stellt jedoch eine Herausforderung dar, da er in bestimmten Kontexten nicht zugänglich ist.
Um dieses Problem zu beheben, wird normalerweise getData() verwendet, aber in diesem Fall funktioniert es nicht. Der folgende Ansatz schlägt ebenfalls fehl:
$this->getData()['a']['b']
Außerdem stellt die Zuweisung des Werts an eine Variable keine praktikable Lösung dar.
Lösung
PHP 5.4 und höher bieten einen direkten Ansatz:
getSomeArray()[2]
Für PHP 5.3 oder früher ein temporärer Variable kann verwendet werden:
$temp = getSomeArray(); $temp[2]
Mit dieser Methode können Sie auf die von der Funktion zurückgegebenen Array-Elemente zugreifen, ohne auf die Einschränkungen zu stoßen, die durch die private Natur des Arrays entstehen.
Das obige ist der detaillierte Inhalt vonWie kann ich auf Array-Elemente zugreifen, die von einer Funktion in PHP zurückgegeben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!