Php 为什么&引用;不是空的吗?

Php 为什么&引用;不是空的吗?,php,Php,我正在尝试以下代码: <?php $form = $_POST['myformdata']; class validacoes { function validate_year($form) { $input_datas = $form['data']; foreach($input_datas as $val){ if($val>1930 && $val<2012){

我正在尝试以下代码:

<?php
$form = $_POST['myformdata'];

class validacoes {

    function validate_year($form) {
        $input_datas = $form['data'];
        foreach($input_datas as $val){
            if($val>1930 && $val<2012){
                echo "correct";
            }
            else
            echo "bad"; //show bad bad

        }
    }
}

$val = new validacoes();

$data = array();
var_dump($form['data']);


try {
    if (!empty($form['data'])){// why this is true ?
    $data['livre'] = $val->validate_year($form);
    }
    else
    echo "empty"; 
} catch (Exception $e) {
    $data['livre'] = $e->getMessage();
}

echo json_encode($data);

?>

为什么函数
validate\u year($form)
在没有任何输入的情况下运行?应该是空的,对吗?

它不是空的——它是一个包含两个空元素的数组

信息是你自己发布的
$form['data']
包含两个对象的数组。因此它不是空的

也许你想要


如果(!empty($form['data'][0])和&!empty($form['data'][1]),

什么是“空”呢?NULL或“”?或者别的什么?如果您费心阅读文档,回答这个问题可能需要10秒钟。
var_dump($form['data']);

    array
      0 => string '' (length=0)
      1 => string '' (length=0)