可能重复:
将带有数字键的数组转换为对象
我想知道(object)
类型转换。
可以做很多有用的事情,例如将关联数组转换为对象,以及一些不太有用且有点有趣(恕我直言)的事情,例如将标量值转换为 object。
但是如何访问索引数组的转换结果?
// Converting to object an indexed array
$obj = (object) array( 'apple', 'fruit' );
如何访问特定值?
print $obj[0]; // Fatal error & doesn't have and any sense
print $obj->scalar[0]; // Any sense
print $obj->0; // Syntax error
print $obj->${'0'}; // Fatal error: empty property.
print_r( get_object_vars( $obj ) ); // Returns Array()
print_r( $obj ); /* Returns
stdClass Object
(
[0] => apple
[1] => fruit
)
*/
以下工作,因为stdClass
动态实现Countable
和ArrayAccess
:
foreach( $obj as $k => $v ) {
print $k . ' => ' . $v . PHP_EOL;
}