如何访问已转换为对象的数组的属性/值?

2024-03-08

如何访问已转换为对象的数组的属性/值?例如,我想访问索引0中的值,

$obj = (object) array('qualitypoint', 'technologies', 'India');
var_dump($obj->0);

error,

解析错误:语法错误、意外的 T_LNUMBER、期望 T_STRING 或 C:...converting_to_object.php 第 11 行中的 T_VARIABLE 或 '{' 或 '$'


尝试这个:

$obj = (object) array('test' => 'qualitypoint', 'technologies', 'India');

var_dump($obj->test);

结果是:

string(12) "qualitypoint"

但试图访问$obj->0,出现同样的错误:Parse error: syntax error, unexpected T_LNUMBER, expecting T_STRING or T_VARIABLE or '{' or '$'

如果您循环访问该对象,那么您可以像普通数组一样正常访问属性:

foreach($obj as $x) {
    var_dump($x);
}

显然,属性命名规则与基本变量命名规则 http://www.php.net/manual/en/language.variables.basics.php.

如果将其转换为 ArrayObject,则可以正常访问索引:

$obj = new ArrayObject(array('qualitypoint', 'technologies', 'India'));

并倾倒它:

var_dump($obj[0]);

你会得到:

string(12) "qualitypoint"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何访问已转换为对象的数组的属性/值? 的相关文章

随机推荐