Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查数组是否为空';使用cast无法工作?_Php - Fatal编程技术网

Php 检查数组是否为空';使用cast无法工作?

Php 检查数组是否为空';使用cast无法工作?,php,Php,行$main[0]->tasks=$task显示未定义变量:task的错误。在我的情况下,我的记录中没有任务,因此执行失败。但我希望它只是跳过并继续,因为我已经将它放在“if”中,它会检查任务对象是否为空 $stmt = $db->prepare("SELECT * FROM task where uId = ?"); $stmt->bind_param('s',$userId); if($stmt->execute()){ $user = $stmt->ge

$main[0]->tasks=$task显示
未定义变量:task
的错误。在我的情况下,我的记录中没有任务,因此执行失败。但我希望它只是跳过并继续,因为我已经将它放在“if”中,它会检查任务对象是否为空

$stmt = $db->prepare("SELECT * FROM task where uId = ?");

$stmt->bind_param('s',$userId);

if($stmt->execute()){
    $user = $stmt->get_result();
    while ($obj = $user->fetch_object()) {
         $task[] = $obj;
    }

    if(count((array)$task)){
        $main[0]->tasks = $task;
    }
}

为什么要使用cast?这个查询应该返回多少行?如果只有一个-为什么要循环和数组?它已经是一个数组了。您只需要在while循环之前定义它<代码>$task=array()。所以我忘记初始化$task数组了?
if($stmt->execute()){
    $task = array();
    $user = $stmt->get_result();
    while ($obj = $user->fetch_object()) {
         $task[] = $obj;
    }

    if(count($task)){ //or if($task){
        $main[0]->tasks = $task;
    }
}