2011-07-23 19 views
0

変数をキーまたは値にして、in_array()で使用できるようにするにはどうすればよいですか?例えば変数をキーにするにはどうしたらいいですか?

// set the variable 
$cnt_firstname = trim($_POST['cnt_firstname']); 
$required = trim($_POST['required']); 

// set the array for required fields 
$array_required = explode(' ',$required); 

// check the item is not empty and if it is in the array of required 
if(empty($cnt_firstname) && in_array($cnt_firstname, $array_required)) 
{ 
$error = true; 
echo '<error elementid="cnt_firstname" message="Please enter your fist name." />'; 
} 

これは、私は、フォームから送信したPOSTデータである、

Array 
(
    [cnt_firstname] => 
    [cnt_lastname] => 
    [cnt_organisation] => 
    [cnt_email1] => 
    [cnt_telephpne] => 
    [required] => cnt_firstname cnt_lastname cnt_email1 
) 

私は結果を得ることができません。フィールドが空でフィールドが必須配列の場合、falseを返すようにします。

どうすればいいですか?

+0

私はどこかにダブルネガティブなロジックがあると思います。値は必要な配列の**空と**です...? **空ではない**ことを意味しますか?または**または**? – deceze

+0

値が必要かどうかを判断するために、フォームから返される情報に頼るべきではありません。これらの値が偽造されるのは非常に簡単です。 – Mike

+0

@decezeそのことにもこだわっています:)彼が何を意味するのですか?変数が空ではあるが必須であれば、空=真であり、必要な配列でも – Quasdunk

答えて

1

クイック&ダーティー:$ cnt_firstnameが必要な配列である場合、それは空の場合にのみ、チェックしますので、あなたは、それが動作しません書い

if(empty($cnt_firstname) && in_array('cnt_firstname', $array_required)) 

方法 - つまり:あります配列の空の文字列?

+0

がそれを持っています。助けてくれてありがとう! :-) – laukok

+0

あなたは大歓迎です! – Quasdunk

関連する問題