2012-05-11 8 views
0

を使用して、空白またはされていない、私は5つの変数(フィールド値)、チェックフィールズ基としては、例えば、配列

$companyname 
$firstname, 
$lastname, 
$address1, 
$address2 

を持っています、要件ごとに、こちらに2グループがあります。

いずれかのグループ変数1またはグループ2の変数が必須です。 即ち

Either $firstname AND $lastname AND $address1 Can Not Be Blank 
OR 
$companyname AND $address2 Can Not Be Blank. 

目標である:

この関数: $ alt_req_arrays($ ARR1、ARR2 $)。 はtrueまたはfalseを返す必要があります。

質問です: 私は最小限のコードでこの関数を書きたい(配列関数またはそのような何かを使用して...)

+0

私も、手なくなって成功を多くのものを試してみましたが、 が、コードはそんなに長くなりました。 だから、コードを最適化したい。 私は既に array_filter、array_intersect、array_diffなどの機能を使用しようとしましたが、コードの縮小版を入手しなければ私の期待に達しませんでした。 – TechCare99

+0

あなたは長いが、動作しているバージョンを投稿することができます。ここ(私のような)ここでは、あなたの文章を見るよりもコードを見ることで要件をよく理解できる人もいます:)。 – kapa

答えて

0

あなたは$グループのなどを形成した場合:

$group1 = array('firstname' => 'dfgdf','lastname' => 'dsfsad','address1' => 'ccc'); 
$group2 = array('companyname' => 'a','address2' => 'fdgdf'); 

すなわちその後、あなたは以下のように使用することができ、「フィールド」=>「フィールドの値を」ハッシュ:

$group1 = array('firstname' => 'dfgdf','lastname' => 'dsfsad','address1' => 'ccc'); 
$group2 = array('companyname' => 'a','address2' => 'fdgdf'); 

function alt_req_arrays($arr1,$arr2) 
{ 
    return !array_search(null,$arr1) || !array_search(null,$arr2); 
} 
var_dump(alt_req_arrays($group1,$group2));