构建类似于关联数组的 PHP stdClass 对象

Build PHP stdClass object simular to an Associative Array

除了

之外,还有哪些方法可以在不使用循环的情况下构建类似于关联数组的 stdClass 对象
$obj = (object)[ 'item1' => 1 , 'item2'=> 2 ];

类似于在 Javascript

中创建对象的方式
var obj = { item1 : 1 , item : 2 }

提前致谢。

根据 Anthony 在 PHP 手册中的说法:

In PHP 7 there are a few ways to create an empty object:

<?php
$obj1 = new \stdClass; // Instantiate stdClass object
$obj2 = new class{}; // Instantiate anonymous class
$obj3 = (object)[]; // Cast empty array to object

var_dump($obj1); // object(stdClass)#1 (0) {}
var_dump($obj2); // object(class@anonymous)#2 (0) {}
var_dump($obj3); // object(stdClass)#3 (0) {}
?>

有关他所说内容的更多信息,请访问 PHP Manual documentation 并附上他的回答。

为了扩展他的答案,第一个看起来像这样:

第一个例子

$obj1 = new \stdClass;
$obj1->first = 1;

print_r($obj1);

// output
// stdClass Object
// (
//     [first] => 1
// )

第二个例子

$obj2 = new class{ };
$obj2->second = 2;

print_r($obj2);

// output
// class@anonymous Object
// (
//     [second] => 2
// )

第三个例子

$obj3 = (object)[];
$obj3->third = 3;

print_r($obj3);

// output
// stdClass Object
// (
//     [third] => 3
// )

你可以按照这些思路做些事情;就这么简单