Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich in PHP auf Objekteigenschaften mit ungültigen Zeichen zugreifen?

Wie kann ich in PHP auf Objekteigenschaften mit ungültigen Zeichen zugreifen?

DDD
Freigeben: 2024-12-14 01:57:10
Original
526 Leute haben es durchsucht

How Can I Access Object Properties with Invalid Characters in PHP?

Zugriff auf Objekteigenschaft mit ungültigem Namen

In PHP ist es möglich, auf Objekte mit Eigenschaften zu stoßen, die unzulässige oder ungültige Zeichen enthalten, wie etwa Bindestriche (-). Während reguläre Eigenschaftszugriffsfunktionen fehlschlagen, gibt es Problemumgehungen, um diese Werte abzurufen.

Lösung 1: Klammernotation

Um auf eine Eigenschaft mit einem ungültigen Namen zuzugreifen, verwenden Sie die Klammernotation mit der Eigenschaftsname in geschweiften Klammern ({}):

$object->{'todo-items'};
Nach dem Login kopieren

Lösung 2: Variablenname und Verkettung

Alternativ können Sie den Eigenschaftsnamen einer Variablen zuweisen und ihn mit der $object-Variablen verketten:

$todolist = 'todo-items';
echo $object->$todolist;
Nach dem Login kopieren

Beispiel:

Unter Verwendung des bereitgestellten Beispielobjekt-Dumps:

$x = (object) [
    'completed-count' => '0',
    'description' => 'Description String',
    'id' => '12345',
    'todo-items' => (object) [
        'todo-item' => (object) [
            'completed' => 'false',
            'content' => 'content string here',
            'created-on' => '2009-04-16T20:33:31Z',
            'creator-id' => '23423',
            'id' => '234',
            'position' => '1',
            'responsible-party-id' => '2844499',
            'responsible-party-type' => 'Person',
            'todo-list-id' => '234234',
        ],
    ],
];

echo $x->{'todo-items'}[0]->{'todo-item'}->content;
Nach dem Login kopieren

Zusätzlich Tipp:

Um ein Objekt in ein Array zu konvertieren, können Sie den in der Frage und Antwort bereitgestellten Codeausschnitt verwenden:

public function toArray()
{
    $array = array();
    foreach ($this->_data as $key => $value) {
        if ($value instanceof StdClass) {
            $array[$key] = $value->toArray();
        } else {
            $array[$key] = $value;
        }
    }
    return $array;
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP auf Objekteigenschaften mit ungültigen Zeichen zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage