get_object_vars oder (array)var Unterschied object2array
Mike
- php
Hallo,
ich möchte ein mehrdimensionales Objekt in ein Array umwandeln. Funktioniert auch soweit, doch es bieten sich zwei Methoden dazu an und so wüsste ich gerne mal den Unterschied bzw. welche sinnvoller ist:
// Hier mit $ar = (array)$obj;
if(is_object($obj)){$ar = (array)$obj;}else{$ar = $obj;}
// Und hier mit $ar = get_object_vars($obj);
if(is_object($obj)){$ar = get_object_vars($obj);else{$ar = $obj;}
Gruss
Mike
Moin
Dazu sei dir die offizielle Doku und die entsprechenden Kommentare ans Herz gelegt. Speziell dieser hier: http://www.php.net/manual/en/function.get-object-vars.php#47075
Gruß Bobby
Hallo,
Dazu sei dir die offizielle Doku und die entsprechenden Kommentare ans Herz gelegt. Speziell dieser hier: http://www.php.net/manual/en/function.get-object-vars.php#47075
Das hilft mir soviel weiter wie: ἓν οἶδα ὅτι οὐδὲν οἶδα
Wenn jemand den PHP.net-Kommentar ein wenig vereinfacht und möglichst auf deutsch erklären würde, wäre es vielleicht hilfreich.
Gruss
Mike
Moin
Das hilft mir soviel weiter wie: ἓν οἶδα ὅτι οὐδὲν οἶδα
Aha, du weißt, dass du nichts weißt... gut
Wenn jemand den PHP.net-Kommentar ein wenig vereinfacht und möglichst auf deutsch erklären würde, wäre es vielleicht hilfreich.
Der Unterschied zwischen einem einfachen Castzen $arr=(array)$obj und dem auslesen per $arr=get_object_vars( $obj ) besteht in dem Umgang mit der Datenkapselung.
Beim Casten sind auch Daten sichtbar die evtl protected oder private sind. bei der Verwendung der genannten PHP-Funktion werden nur Daten aus dem Object herausgefiltert, die auch anzeigbar sind (also dem entsprechenden Sichtbarkeitsbereich entsprechen)
Nun ist es an dir zu entscheiden was du benötigst. Wenn es eine bloße aneinanderreoihung von Objectdaten (alle public) ist, dann reicht m.E. das einfache Casten aus.
Ob es noch weitere Unterschiede gibt, kann ich gerade nicht beantworten.
Gruß Bobby
Tag,
Das hilft mir soviel weiter wie: ἓν οἶδα ὅτι οὐδὲν οἶδα
Aha, du weißt, dass du nichts weißt... gut
Eigentlich sollte er ja nicht _nichts wissen_ sondern _nicht wissen_. Verstehste?
Einer der großen Übersetzungsfehler, ja ja.
Moin
Tag,
Das hilft mir soviel weiter wie: ἓν οἶδα ὅτι οὐδὲν οἶδα
Aha, du weißt, dass du nichts weißt... gut
Eigentlich sollte er ja nicht _nichts wissen_ sondern _nicht wissen_. Verstehste?
Einer der großen Übersetzungsfehler, ja ja.
Naja... google sagte: "In diesem, ich weiß, dass ich nichts weiß" ... Da hatte ich mir das so zusammengereimt... ;) Ich bin des griechischen nicht wirklich mächtig...
Gruß Bobby
Tag,
Naja... google sagte: "In diesem, ich weiß, dass ich nichts weiß" ... Da hatte ich mir das so zusammengereimt... ;) Ich bin des griechischen nicht wirklich mächtig...
na, ja, was google so alles übersetzt :)
Hier, ein Link: http://de.wikipedia.org/wiki/Ich_weiß,_dass_ich_nichts_weiß
Wenn wir schon bei fatalen Übersetzungsfehlern sind:
Warum trennt man Eidechse EI-DECHSE und nicht EID-ECHSE?
Tja, auch hier wurde geschlampt. Und aus der laufenden Schlange (mhd. egedehse) sind dann auch noch die "Echsen" entstanden! Somit ist die Trennen EI-DECHSE völlig richtig und die Abtrennung Echse falsch. Echsen müssten eigentlich Dechsen heissen. Na ja, kann man nichts machen. So, genug geschwafelt.