stdClass
Klassen stdClass
(PHP 4, PHP 5, PHP 7, PHP 8)
Introduktion
En generisk tom klass med dynamiska egenskaper.
Objekt av denna klass kan instansieras med `new`-operatorn eller skapas genom typomvandling till objekt. Flera PHP-funktioner skapar också instanser av denna klass, t.ex. `json_decode()`, `mysqli_fetch_object()` eller `PDOStatement::fetchObject()`.
Trots att den inte implementerar __get()/__set() magimetoder, tillåter denna klass dynamiska egenskaper och kräver inte attributet #[\AllowDynamicProperties].
Detta är inte en basklass eftersom PHP inte har ett koncept av en universell basklass. Det är dock möjligt att skapa en anpassad klass som utökar från stdClass och som ett resultat ärver funktionaliteten för dynamiska egenskaper.
Klassöversikt
class stdClass { }
Denna klass har inga metoder eller standardegenskaper.
Exempel
Exempel #1 Skapad som ett resultat av typomvandling till objekt
<?php $obj = (object) array('foo' => 'bar'); var_dump($obj); ?>
Ovanstående exempel kommer att ge något liknande:
object(stdClass)#1 (1) { ["foo"]=> string(3) "bar" }
Exempel #2 Skapad som ett resultat av json_decode()
<?php $json = '{"foo":"bar"}'; var_dump(json_decode($json)); ?>
Ovanstående exempel kommer att ge något liknande:
object(stdClass)#1 (1) { ["foo"]=> string(3) "bar" }
Exempel #3 Deklarera dynamiska egenskaper
<?php $obj = new stdClass(); $obj->foo = 42; $obj->{1} = 42; var_dump($obj); ?>
Ovanstående exempel kommer att ge något liknande:
object(stdClass)#1 (2) { ["foo"]=> int(42) ["1"]=> int(42) }
Sidslut
Orginalhemsidan på Engelska : https://www.php.net/manual/en/class.stdclass.php
PHP
Språkreferens
Fördefinierade Gränssnitt och Klasser
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.