我无法找到打印此阵列的方法。这是我的剧本:
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>";
当我尝试打印时,我得到的错误是:
警告:不能在
中使用标量值作为数组
我该如何解决这个问题?
答案 0 :(得分:1)
使用数组语法取消引用标量值会触发该警告。例如:
$a = 1;
$a[] = 1;
触发器:
PHP警告:不能在第5行的/Users/darragh/Sites/__.php中使用标量值作为数组
$taskqu
的初始值是多少?因此,它显然不是一个数组:
$taskqu[$row['task_type']] = $row[0];
是无效操作并引发此PHP警告。
这是因为$taskqu
已经初始化,返回值为mysql_query
,(因为您的查询是SELECT
语句)是resource
类型或{ {1}}。
无论哪种方式初始化值,都不是数组,因此不能使用数组语法取消引用。
希望这会有所帮助:)