【发布时间】:2014-07-18 10:45:12
【问题描述】:
我在 PHP 中遇到了一些我无法理解的奇怪行为。
$count=0;
$temp=array(); //this is definitely a new variable, not that it should matter
foreach($array as $arr) {
if ($arr->bbcode != $previous_bb) {
$previous_bb=$arr->bbcode;
//stuff
$temp=array_merge($temp,$arr);
}
//stuff
}
我尝试稍微简化代码,只保留必要的部分。 $array 是一个二维数组(所以每个 $arr 都有一些属性,比如你看到的 bbcode)。它抱怨参数 1,即 $temp,不是一个数组。将其类型转换为数组会产生虚假结果。当然,这是在其他代码中,如果需要,我可以提供更多详细信息,但是有什么想法吗?我在其他地方使用了完全相同的代码和语法,它没有抱怨......
编辑:随意投反对票,对我一直在使用的东西以及我一直在做的事情有记忆失误。以前(几年内)从来没有问过编程问题,非常感谢你们,你们的速度非常快!
【问题讨论】:
-
问题的标题是给出的实际错误吗?
-
如果错误信息说它不是一个数组,那它就不是一个数组。当您使用 vardump 或 gettype() 时会发生什么?
-
我收回了,它总是一个数组(拼写错误)
-
确切的错误:array_merge(): Argument #1 is not an array(肯定不是从 0 开始计数吧?)
标签: php arrays array-merge