我正在尝试这段代码:
<?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);
?>
//的var_dump
var_dump($form['data']);
array
0 => string '' (length=0)
1 => string '' (length=0)
为什么函数validate_year($form)
在没有任何输入的情况下运行?应该是空的,对吗?
答案 0 :(得分:7)
它不是空的 - 它是一个包含2个空元素的数组。
答案 1 :(得分:2)
您自己发布了这些信息。 $form['data']
包含两个对象的数组。因此它不是空的。
也许你想要
if (!empty($form['data'][0]) && !empty($form['data'][1]))