我初始化了对象数组,并尝试通过循环
从数据库设置值{{1}}
数据库是https://docs.unity3d.com/ScriptReference/Animator.Play.html
但是当dump $ recentpost它只包含数组所有索引中数据库的最后一个值时我不知道发生了什么 database image
抱歉英语不好,我要提前感谢答案 0 :(得分:0)
问题出在$recentpost=array_fill(0,$no,new Post);
。用单个对象填充数组。这意味着在您的foreach
循环中,您只需多次更改其状态。
示例:
$obj = new stdClass();
$obj->prop = 'foo';
$array = array_fill(0, 2, $obj);
这正是var_dump($array)
发生的事情:
array(2) {
[0]=>
object(stdClass)#1 (1) {
["prop"]=>
string(3) "foo"
}
[1]=>
object(stdClass)#1 (1) {
["prop"]=>
string(3) "foo"
}
}
我们正在使用相同的对象。所以:
$array[0]->prop = 'bar';
echo $array[1]->prop; // Outputs: bar
<小时/> 可能的解决方案是在循环中填充数组:
for($i = 0; $i < $no; $i++){
$recentpost[$i] = new Post;
}
所以现在它为数组的每个元素填充了不同的对象