2011-12-13 8 views
-2

私はこのコードをしようとしています:機能validate_year($form)は任意の入力なしで実行されているのはなぜなぜ ""が空でないのですか?

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

を?空で正しいはずですか?

+0

したいですか? NULLか ""?または、他の何か? –

+1

['empty'](http://php.net/manual/en/function.empty.php)のドキュメントを読もうとすると、これに答えるのに10秒かかります。 – Jon

答えて

7

空ではありません。空の要素が2つある配列です。

2

自分で情報を投稿しました。 $form['data']には2つのオブジェクトの配列が含まれています。したがって、それは空ではありません。

たぶん、あなたはあなたのための "空" とは何

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

関連する問題