PHP - Bug?
bobby
- php
Moin,
ich habe mal ein wenig rumprobiert auf die Frage von vorhin mit dem Objekt in Javascript. Auf PHP übertragen müsste dann ja folgendes equivalent sein:
$y = (object) ['a', 'b', 'c'];
über var_dump wird mir das Objekt auch angezeigt.
object(stdClass)#153 (3) { ["0"]=> string(1) "a" ["1"]=> string(1) "b" ["2"]=> string(1) "c" }
Ich habe aber niemals die Möglichkeit auf die Eigenschaften zurückzugreifen, außer ich caste das Objekt zu einem Array zurück.
folgende Ausgaben hab ich probiert:
var_dump($y->1);
// wird mir error quitiert
var_dump($y->b);
// ist null
var_dump($y[1]);
// error
Also ist dies doch recht sinnfrei oder gibt es eine Möglichkeit ohne parsen auf die Eigenschaften zuzugreifen?
Gruß Bobby
Tach!
ich habe mal ein wenig rumprobiert auf die Frage von vorhin mit dem Objekt in Javascript.
Welches "vorhin" meinst du? Beziehst du dich auf das Posting von Silke Seide? Bitte verlinke es, wenn du dich auf ein anderes Posting beziehst.
Auf PHP übertragen müsste dann ja folgendes equivalent sein:
$y = (object) ['a', 'b', 'c'];
Falls es das Posting ist, dann nein. In dem Javascript-Beispiel wurde mit Variablen hantiert, deren Namen zu Namen von Objekteigenschaften wurden. Das ist hier nicht der Fall. Hier werden lediglich Werte eines Arrays in ein Objekt konvertiert.
über var_dump wird mir das Objekt auch angezeigt.
object(stdClass)#153 (3) { ["0"]=> string(1) "a" ["1"]=> string(1) "b" ["2"]=> string(1) "c" }
Vorher ein <pre> ausgeben, macht die Sache lesbarer.
Ich habe aber niemals die Möglichkeit auf die Eigenschaften zurückzugreifen, außer ich caste das Objekt zu einem Array zurück.
Doch, es gibt PHP-Syntax, mit der man auf Feldnamen zugreifen kann, die keine gültigen Variablen wären. Siehe Converting to object (eine bessere Stelle habe ich nicht gefunden).
Also ist dies doch recht sinnfrei oder gibt es eine Möglichkeit ohne parsen auf die Eigenschaften zuzugreifen?
Was konkret hast du vor?
dedlfix.
Moin,
ich habe nix vor. Habe nur einfach rumprobiert und es war rein interessehalber. Dein Link hat meine Frage beantwortet, ich werde mir das merken. DANKE
Und ja, ich habe nun gesehen dass ich mich vertan habe mit dem Äquivalent. Zum Glück verhält sich PHP da anders.
Gruß Bobby