2016-10-03 3 views
1

Ich habe einige Code überprüft, der von einem anderen Entwickler gemacht wurde, und ich sah einige Zeilen, die mich stören. Diese werden während der gesamten Anwendung verwendet.Casting zu Objekt

Gibt es einen bestimmten Grund, warum der Entwickler Typ Jonglieren/Casting verwenden würde? Ich bin nur neugierig, wie ich den Code seltsam finde.

$object = (object) array(); 
$result = (object) json_decode($json); 
+1

Sie können ein assoziatives Array zu einem Objekt und zurück in PHP drehen. Es kann manchmal nützlich sein, aber in den zwei Zeilen, die Sie gepostet haben, ist es sinnlos - die erste Zeile aus offensichtlichen Gründen, die zweite, weil json_decode bereits standardmäßig ein Objekt zurückgibt. –

+0

@ this.lau_ "die erste Zeile aus offensichtlichen Gründen" .... können Sie erklären warum? – dios231

+0

@ dios231, weil er ein Array erstellt, um es dann in ein Objekt zu konvertieren, während er einfach mit 'new stdClass()' ein Objekt erstellen könnte. –

Antwort

1

(object) array() ist eine obskure Weise new stdClass() zu tun.

(object) json_decode($json) ist wahrscheinlich nutzlos, da json_decode() bereits Objekte standardmäßig auf stdClass abbildet. Dies hängt von den Daten ab, die dekodiert werden.

Verwandte Themen