PHP stdClass 对象,如何获取索引为 0 的元素
PHP stdClass Object, how to get element with the 0 index
我有一个这样的 stdClass 对象:
print_r($myobj);
stdClass Object(
[0] => testData
);
所以很明显我无法通过$myobj->0
获取值。
为了获取这个值,我将对象转换为数组,但是有没有不转换就可以获取的方法?
试试这个:
$obj = new stdClass();
$obj->{0} = 1;
echo $obj->{0};
所以首先,即使 print_r()
的输出显示 属性 确实是整数 0
,但事实并非如此。如果你改为在对象上调用 var_dump()
,你会看到,事实上,它看起来像这样:
php > var_dump($myobject);
object(stdClass)#2 (1) {
["0"]=>
string(4) "testData"
}
那么当 PHP 不允许您访问 $myobject->0
时,您如何访问名为 0
的 属性?使用特殊的 Complex (curly) syntax:
php > echo $myobject->{0};
test
php > echo $myobject->{'0'};
test
php >
您可以使用此方法访问 属性 个不被视为有效语法的名称。
我有一个这样的 stdClass 对象:
print_r($myobj);
stdClass Object(
[0] => testData
);
所以很明显我无法通过$myobj->0
获取值。
为了获取这个值,我将对象转换为数组,但是有没有不转换就可以获取的方法?
试试这个:
$obj = new stdClass();
$obj->{0} = 1;
echo $obj->{0};
所以首先,即使 print_r()
的输出显示 属性 确实是整数 0
,但事实并非如此。如果你改为在对象上调用 var_dump()
,你会看到,事实上,它看起来像这样:
php > var_dump($myobject);
object(stdClass)#2 (1) {
["0"]=>
string(4) "testData"
}
那么当 PHP 不允许您访问 $myobject->0
时,您如何访问名为 0
的 属性?使用特殊的 Complex (curly) syntax:
php > echo $myobject->{0};
test
php > echo $myobject->{'0'};
test
php >
您可以使用此方法访问 属性 个不被视为有效语法的名称。