2011-12-13 110 views
-2

我想这个代码:为什么“”不是空的?

<?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

什么是 “空” 的吗? NULL或“”?或者是其他东西? – 2011-12-13 23:17:00

回答

7

它不是空的 - 它是一个有2个空元素的数组。

2

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

也许你想

if (!empty($form['data'][0]) && !empty($form['data'][1]))