【发布时间】:2019-09-01 08:56:12
【问题描述】:
我将数组转换为对象并尝试访问键(或属性),但它不起作用。下面的代码返回type 8 -- Undefined property: stdClass::$2。我尝试使用property_exists(),但也失败了。
$var = (object)array('1' => 'Object one','2' => 'Object two');
$num = "2";
var_dump( $var->$num );
有人知道为什么吗?
更新:无论属性是字符串还是整数,这似乎都是一个问题。
【问题讨论】:
-
问题是数字键/属性名。如果您将其命名为“a2”,它将适用于您的代码:3v4l.org/JiU9A
-
@PranavCBalan 我怀疑这是一个骗子,因为 poss 骗子中的答案将不起作用-(php >7.2 除外):
$var->{$num} -
@Jeff :是的,你是对的......