Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php创建没有类的对象_Php - Fatal编程技术网

php创建没有类的对象

php创建没有类的对象,php,Php,在JavaScript中,您可以通过以下方式轻松创建没有类的对象: myObj = {}; myObj.abc = "aaaa"; 对于PHP,我发现了这个,但它已经有将近4年的历史了: 现在在2013年的PHP5.4中,有没有替代方案?您可以始终使用新的stdClass()。示例代码: $object = new stdClass(); $object->property = 'Here we go'; var_dump($object);

在JavaScript中,您可以通过以下方式轻松创建没有类的对象:

 myObj = {};
 myObj.abc = "aaaa";
对于PHP,我发现了这个,但它已经有将近4年的历史了:


现在在2013年的PHP5.4中,有没有替代方案?

您可以始终使用
新的stdClass()
。示例代码:

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

   var_dump($object);
   /*
   outputs:

   object(stdClass)#2 (1) {
      ["property"]=>
      string(10) "Here we go"
    }
   */
从PHP 5.4开始,您还可以通过以下方式获得相同的输出:

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

检查这个答案:$obj=(object)[]$obj->someProp=“嘿,小子”;PHP的嵌套关联数组可能是嵌套JS对象的一个很好的替代品,具体取决于您尝试执行的操作。+1对于PHP5.4方法,这会使代码更短、更可读,尤其是当您有多个项要添加到对象中时。如果您正在考虑将嵌套数组转换为对象,我建议使用
json\u decode(json_encode($array))
将整个数组转换为嵌套的stdClass对象。如果使用
(object)$array
它将仅将第一层转换为对象,嵌套在其中的所有内容都将保留为数组。另一种方法是使用单个json_解码,传递json字符串:$object=json_decode('{“property”:{“foo”:“bar”},“hello”:“world”}”);@davidooten非常有用。谢谢。@davidooten看起来像PHP7.4(甚至更早?),现在在使用(object)$array时也会创建嵌套对象。
$object = (object) ['property' => 'Here we go'];