php Objekt ohne Klasse erstellen [duplicate]

Lesezeit: 2 Minuten

Benutzer-Avatar
Wolfgang Adamec

In JavaScript können Sie ein Objekt ohne Klasse einfach erstellen, indem Sie:

 myObj = {};
 myObj.abc = "aaaa";

Für PHP habe ich dieses gefunden, aber es ist fast 4 Jahre alt:
http://www.subclosure.com/php-creating-anonymous-objects-on-the-fly.html

$obj = (object) array('foo' => 'bar', 'property' => 'value');

Gibt es jetzt mit PHP 5.4 im Jahr 2013 eine Alternative dazu?

  • Überprüfen Sie diese Antwort: stackoverflow.com/a/6384474/1606729

    – koopajah

    18. Januar 2013 um 9:14 Uhr

  • $obj = (Objekt)[]; $obj->someProp = “Hey Junge”;

    – AlFra

    13. Mai 2016 um 10:26 Uhr

  • Die verschachtelten, assoziativen Arrays von PHP könnten ein guter Ersatz für verschachtelte JS-Objekte sein, je nachdem, was Sie versuchen zu tun.

    – Kennsorr

    10. Mai 2019 um 15:22 Uhr

Benutzer-Avatar
Artem L

kannst du immer verwenden new stdClass(). Beispielcode:

   $object = new stdClass();
   $object->property = 'Here we go';

   var_dump($object);
   /*
   outputs:

   object(stdClass)#2 (1) {
      ["property"]=>
      string(10) "Here we go"
    }
   */

Auch ab PHP 5.4 können Sie dieselbe Ausgabe erhalten mit:

$object = (object) ['property' => 'Here we go'];

  • +1 für die PHP 5.4-Methode, dies macht den Code kürzer und lesbarer, insbesondere wenn Sie dem Objekt mehrere Elemente hinzufügen müssen.

    – Kennzeichen

    17. Februar 2016 um 10:11 Uhr

  • Wenn Sie ein verschachteltes Array in ein Objekt umwandeln möchten, empfehle ich die Verwendung von json_decode(json_encode($array)) wodurch das gesamte Array in ein verschachteltes stdClass-Objekt umgewandelt wird. Wenn du benutzt (object) $array Es wird nur die erste Ebene in ein Objekt konvertiert, alles, was darin verschachtelt ist, bleibt ein Array.

    – David Routen

    2. März 2018 um 20:29 Uhr

  • Eine andere Möglichkeit, einen einzelnen json_decode zu verwenden, besteht darin, einen JSON-String zu übergeben: $object = json_decode(‘{“property”: {“foo”: “bar”}, “hello”: “world”}’);

    – Nr

    14. März 2018 um 21:58 Uhr

  • @DavidRouten Das war super super hilfreich. Vielen Dank.

    – Ryan

    26. Mai 2018 um 15:35 Uhr

  • @DavidRouten Scheint so, als würde PHP7.4 (oder sogar früher?) jetzt auch verschachtelte Objekte erstellen, wenn Sie (object) $array verwenden.

    – Nr

    22. September 2020 um 8:14 Uhr

1362520cookie-checkphp Objekt ohne Klasse erstellen [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy