在组合数组时遇到一些问题......这有效:
$un[0] = array("0:0:0");
//$un[1] = array("1:1:1");
$flat = call_user_func_array('array_merge', $un);
如果我取消注释第二个 $un,它仍然有效(并结合了两者)。
现在,如果我说,将其从硬编码数组更改为来自 DB 查询的数组(我知道 mysql ext 已被弃用):
$u = mysql_query("SELECT `XX` FROM `XX` WHERE `XX` = '".$XX."' AND `XX` = '0'");
$un = mysql_fetch_row($u);
我通过 PhpMyAdmin 运行查询,它可以工作。所以当我在它$flat = call_user_func_array('array_merge', $un);
之后添加mysql_fetch_row
它返回一个错误:
PHP 警告:array_merge() [function.array-merge]:参数 #1 不是** LOCATION **中的数组
而且我似乎无法弄清楚为什么......因为数据库查询应该吐出 $un[0]、$un[1] 等,就像工作的代码一样,不是吗?