检查数组是否为空

Check if array empty

问题:保存多个POST时保存了不需要的空POST(s)。

问题:如何检查数组是否为空?

我想检查 $value[0] 是否为空并且只保存包含文本的值。

请随时更改下面的代码或使用新示例。

foreach ($_POST['bedomning'] as $elevens_id => $value) {

    $ident = $_POST['ident'];   
    $amne_id = $_POST['amne_id'];   
    $datumet = $_POST['datum'];         
    $lararen = $_SESSION['lid'];

    $array_empty = array_filter($value[0]);

    if (!empty($array_empty)){   

        try{    

            $ny_bedomning  = $db->prepare("             
                INSERT INTO `abb_larare` 
                (ident, amne_id, abb_bed_text, elev_id, lid, datum) 
                VALUES (:ident, :amne_id, :abb_bed_text, :elev_id, :lid, :datum) 
            ");                         

            $ny_bedomning->bindParam(':ident', $ident, PDO::PARAM_STR);
            $ny_bedomning->bindParam(':amne_id', $amne_id, PDO::PARAM_INT);
            $ny_bedomning->bindParam(':abb_bed_text', $value[0], PDO::PARAM_STR);
            $ny_bedomning->bindParam(':elev_id', $elevens_id, PDO::PARAM_INT);  
            $ny_bedomning->bindParam(':lid', $lararen, PDO::PARAM_INT); 
            $ny_bedomning->bindParam(':datum', $datumet, PDO::PARAM_STR);       

            $ny_bedomning->execute();   

        }catch(PDOException $e){
        die($e->getMessage());
        }
    }
}

使用empty()检查空值。试试 -

if (!empty($value[0])) {
   // do staff
}

empty 适用于 -

  • ""(空字符串)
  • 0(整数 0)
  • 0.0(0 作为浮点数)
  • "0"(0 作为字符串)
  • 错误
  • array()(空数组)
  • $变量; (声明的变量,但没有值)