打印数组时出现问题(错误标量值)


Problems in printing array (error scalar value)

我找不到打印此数组的方法。这是我的脚本:

foreach ($task_types as $key => $value) {
    echo $key;
    $taskqu = mysql_query("SELECT COUNT(*), task_type FROM dotp_tasks WHERE task_type = '$key'");
    while ($row = mysql_fetch_array($taskqu)) {
        $taskqu[$row['task_type']] = $row[0];
    }
}
echo "<pre>";
print_r($taskqu);
echo "</pre>";

当我尝试打印它时,这是我得到的错误:

警告:不能在

我该如何解决这个问题?

使用数组语法取消引用标量值会触发该警告。例如:

$a = 1;
$a[] = 1;

触发器:

PHP 警告:不能在第 5 行的/Users/darragh/Sites/__.php 中使用标量值作为数组

$taskqu的初始值是多少?它显然不是一个数组,因此:

$taskqu[$row['task_type']] = $row[0];

是无效操作,并引发此 PHP 警告。

这是因为$taskqu已经用返回值 mysql_query 初始化,它(因为你的查询是 SELECT 语句(要么是resource类型,要么是false

无论哪种方式,该值都是初始化的,不是数组,因此不能使用数组语法取消引用。

希望这对:)有所帮助