PHP.mk документација

stdClass

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

class.stdclass.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека class.stdclass.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
stdClass

Референца за `class.stdclass.php` со подобрена типографија и навигација.

class.stdclass.php

Класата stdClass

(PHP 4, PHP 5, PHP 7, PHP 8)

Вовед

Општа празна класа со динамични својства.

Објекти од оваа класа може да се инстанцираат со new оператор или да се креираат со претворање во објект. Неколку PHP функции исто така креираат инстанци од оваа класа, на пр. json_decode(), mysqli_fetch_object() or PDO::FETCH_OBJ (.

И покрај тоа што не имплементира __get()/__set() магични методи, оваа класа дозволува динамични својства и не бара #[\AllowDynamicProperties] attribute.

Ова не е базна класа бидејќи PHP нема концепт на универзална базна класа. Сепак, можно е да се креира прилагодена класа што наследува од stdClass и како резултат ги наследува функционалностите на динамичните својства.

Синопсис на класата

#[\AllowDynamicProperties]
class stdClass {
}

Оваа класа нема методи или стандардни својства.

Примери

Пример #1 Создадено како резултат на претворање во објект

<?php
$obj
= (object) array('foo' => 'bar');
var_dump($obj);

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

object(stdClass)#1 (1) {
  ["foo"]=>
  string(3) "bar"
}

Пример #2 Создадено како резултат на json_decode()

<?php
$json
= '{"foo":"bar"}';
var_dump(json_decode($json));

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

object(stdClass)#1 (1) {
  ["foo"]=>
  string(3) "bar"
}

Пример #3 Декларирање динамични својства

<?php
$obj
= new stdClass();
$obj->foo = 42;
$obj->{1} = 42;
var_dump($obj);

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

object(stdClass)#1 (2) {
  ["foo"]=>
  int(42)
  ["1"]=>
  int(42)
}

Белешки од корисници 1 белешка

Матс М
3 години пред
In PHP8 this has been changed

https://www.php.net/manual/en/migration80.incompatible.php

A number of warnings have been converted into Error exceptions:

Attempting to write to a property of a non-object. Previously this implicitly created an stdClass object for null, false and empty strings.

So if you add properties to a $var, you first need to make it a stdClass()

$var = new stdClass();
$var->propp1 = "nice";
$var->propp2 = 1234;
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.