Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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_Oop - Fatal编程技术网

Php 如何创建具有数字属性的对象?

Php 如何创建具有数字属性的对象?,php,oop,Php,Oop,我需要知道有没有一种方法可以在php中创建一个属性为number而不是name的对象,这样我就可以得到如下结果: $property = $obj->{1} 无法将对象的name属性设置为整数。 如果您想要迭代属性 get_object_vars($object); 呃。。。是的,你可以。这与您已经使用的语法完全相同: $obj = (object)nuLL; $obj->{1} = 'Hi!'; var_dump($obj); 您看到了吗?我想您可以通过让类实现ArrayA

我需要知道有没有一种方法可以在php中创建一个属性为number而不是name的对象,这样我就可以得到如下结果:

$property = $obj->{1}

无法将对象的name属性设置为整数。 如果您想要迭代属性

get_object_vars($object);


呃。。。是的,你可以。这与您已经使用的语法完全相同:

$obj = (object)nuLL;
$obj->{1} = 'Hi!';
var_dump($obj);

您看到了吗?我想您可以通过让类实现ArrayAccess来尝试这一点。但我从未试过。但老实说,别这么做。对象属性需要是描述性的。将它们作为数字并不意味着什么。您是否正在使用JSON并希望根据其索引检索数据?例如——也可以看到这一点——这可能是我的偏好,但我发现选择命名属性要好得多。使用法更清晰易读。