我在 PHP 中有一个预先编写的程序,它将数组转换为对象:
<?php
$obj = (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // outputs 'bool(false)'
var_dump(key($obj)); // outputs 'int(1)'
?>
使用上述程序,我几乎没有疑问。我搜索了他们的解决方案,但找不到他们的权威答案。
以下是我的查询:
- 数组正在转换为对象意味着实际发生了什么?声明的数组不是作为对象吗?为什么要完成?是否为这种转换/转换定义了任何特定名称?
- 请用简单明了的语言解释上面代码中的一些行。我不明白代码行
$obj->{'1'}
是什么意思? - 执行代码后,
var_dump(key($obj));
为什么我得到 1 而不是 0,因为数组中只有一个数组元素?
提前致谢。