Php object new stdclass

What is stdClass in PHP?

stdClass is a handy feature provided by PHP to create a regular class. It is a predefined ’empty’ class used as a utility class to cast objects of other types. It has no parents, properties, or methods. It also does not support magic methods and does not implement any interfaces.

Creating stdClass Object

In the following example, stdClass is used instead of an array to store details:

name= 'W3schools'; $obj->extension= 'In'; var_dump($object); ?>
object(stdClass)#1 (2) < ["name"]=>string(9) "W3schools" ["extension"]=> string(2) "In" >
  • If an object is converted to an object using stdClass, it is not modified.
  • If the given value is NULL, the new instance will also be empty.
  • Arrays convert to an object with properties named by keys and associated values. It’s like the alternative to associative arrays.
  • The member named scalar will contain the value for any other type of value.

Creating a stdClass Object by Type Casting

The following example shows that the value will be available in a member named Scalar when typecasting another type into an object:

object(stdClass)#1 (1) < ["scalar"]=>string(9) "W3schools" >

Convert an Array into an Object

In the following example, an array is converted to an object by typecasting:

'W3schools', 'Extension'=>'In', ); $obj= (object) $obj; var_dump($obj); ?>
object(stdClass)#1 (2) < ["name"]=>string(9) "W3schools" ["Extension"]=> string(2) "In" >

Convert an Object into an Array

In the following example, an object is converted to an array by typecasting:

name= 'W3schools'; $obj->extension= 'In'; $data = (array) $obj; print_r($data); ?>
Array( [name] => W3schools [extension] => In )

PHP differs from other object-oriented languages because classes in PHP do not automatically derive from any class. All PHP classes are standalone unless they are explicitly extended from another class. Here you can think of defining a class that expands stdClass, but it won’t give you any benefit because stdClass does nothing.

Читайте также:  Css display webkit inline box

Источник

Создать объект без класса в PHP

Создать объект без класса в PHP

  1. Используйте new stdClass() для создания объекта без класса в PHP
  2. Приведение типа массива в объект с использованием типа данных object для создания объекта без создания класса
  3. Используйте функцию json_dencode() для создания объекта без создания класса в PHP

В этой статье будут представлены методы создания объекта без создания класса в PHP.

Используйте new stdClass() для создания объекта без класса в PHP

Мы можем создать объект из stdClass() , не создавая базовый класс в PHP. Мы можем использовать оператор new для создания объекта stdClass() . Объект может получить доступ к свойствам напрямую, вызвав их. Таким образом, мы можем создавать динамические объекты и свойства с помощью stdClass() . Компилятор создает экземпляр stdClass() , когда массив приводится к типу объекта.

Например, создайте переменную $object и сохраните экземпляр stdClass() , созданный оператором new . Вызвать переменную property из объекта $object и присвоить ей строку. Присвойте строку I am an object’s property . Используйте обратную косую черту \ , чтобы избежать апострофа в тексте. Примените функцию var_dump() к переменной $object , чтобы вывести информацию о переменной.

В приведенном ниже примере мы создали объект stdClass() и мгновенно присвоили значение свойству объекта. Когда мы дампим объект, мы увидим созданный на выходе объект класса stdClass . Таким образом, мы можем создать объект, не создавая базовый класс в PHP.

#php 7.x  php $object = new stdClass(); $object->property = 'I am an object\'s property'; var_dump($object); ?> 
object(stdClass)#1 (1) < ["property"]=>string(25) "I am an object's property" > 

Приведение типа массива в объект с использованием типа данных object для создания объекта без создания класса

Мы можем создать объект без создания класса в PHP, преобразовав тип в объект, используя тип данных object . Мы можем преобразовать массив в объект stdClass . Ключевое слово object заключено в круглые скобки прямо перед тем, как массив преобразует массив в объект. Мы можем использовать функцию var_dump() в качестве первого метода для просмотра информации о типизированном объекте.

Например, создать переменную $place и сохранить в ней массив. Массив содержит ключи как city и country и соответствующие значения как Pokhara и Nepal . Назначьте переменную $place новой переменной $obj . Напишите тип данных object в круглых скобках непосредственно перед переменной $place . Вызвать функцию var_dump() с параметром $obj .

В приведенном ниже примере тип массива преобразуется в объект. Функция var_dump() показывает объект $obj в секции вывода. Это показывает, что это объект stdClass . Посмотрите Руководство по PHP, чтобы узнать, как работает приведение типов.

#php 7.x  php $place = ['city' => 'Pokhara', 'country' =>'Nepal']; $obj = (object) $place; var_dump($obj); ?> 
object(stdClass)#1 (2) < ["city"]=>string(7) "Pokhara" ["country"]=> string(5) "Nepal" > 

Используйте функцию json_dencode() для создания объекта без создания класса в PHP

Функция json_decode() конвертирует строку JSON в объект PHP. Функция принимает строковый параметр, который будет преобразован в объект. Функция также принимает необязательный логический параметр. Значение этого логического параметра по умолчанию — false , что преобразует объект JSON в объект PHP. Если значение равно true , он преобразует объект JSON в ассоциативный массив.

Например, создайте переменную $jsonobj и сохраните в ней объект JSON. Объект содержит Гарри , Тони и Хуан в качестве ключей и целочисленные значения 27 , 24 и 32 в качестве соответствующих значений. Пары “ключ-значение” заключаются в фигурные скобки. Объект JSON заключен в кавычки в виде строки. Затем используйте функцию json_decode() для переменных $jsonobj . Примените функцию var_dump() к функции json_encode() для отображения информации о закодированном объекте.

В приведенном ниже примере функция json_encode() преобразует объект JSON в объект PHP stdClass . Функция var_dump() показывает свойство и значение объекта. Таким образом, мы создали объект без создания класса в PHP. Он также отображает тип значения. Пожалуйста, ознакомьтесь с Руководством по PHP, чтобы узнать больше о функции json_decode() .

# php 7.x  php $jsonobj = ''; var_dump(json_decode($jsonobj)); ?> 
object(stdClass)#1 (3) < ["Harry"]=>int(27) ["Tony"]=> int(24) ["Juan"]=> int(32) > 

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

Сопутствующая статья — PHP Object

Источник

Оцените статью