检查数组是否为空

时间:2015-04-29 09:01:08

标签: php arrays pdo

问题:保存多个POST时会保存不需要的空POST。

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

我想检查$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());
        }
    }
}

1 个答案:

答案 0 :(得分:3)

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

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

empty适用于 -

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