使用此代码时:
$array=(array)$yourObject;
convert的属性$yourObject
可以索引一个数组,但是如何转换为一个数组,这些意思是,通过对象访问的和我$yourObject
是一个索引?!$array
echo $array[0]
另一种提问方式,请参阅此示例代码:
<?php
$var1 = (string) 'a text';
$var2 = (array) array('foo', 'bar');
$var3 = (object) array("foo" => 1, "bar" => 2);
//It's OK.
foreach((array)$var1 as $v) {
echo $v."<br>";
}
echo "<hr>";
//It's OK.
foreach((array)$var2 as $v) {
echo $v."<br>";
}
echo "<hr>";
//It's NOT OK. I want through $var3 in output as an array with one index!
foreach((array)$var3 as $v) {
echo $v."<br>";
}
echo "<hr>";
?>
另一种方式:
我想在 foreach 中使用一个变量,但我不确定这个类型,我想为任何类型变量(字符串,数组,对象,...)工作 foreach 而不会出错例如我认为我必须为某些这种类型提供这个示例输出:
$var1 的输出:
array
0 => string 'a text' (length=6)
$var2 的输出:
array
0 => string 'foo' (length=3)
1 => string 'bar' (length=3)
$var3 的输出:
array
0 =>
object(stdClass)[1]
public 'foo' => int 1
public 'bar' => int 2
最后我确定 foreach 返回当前结果没有错误。