2017-04-13 14 views
0

このカスタム関数は2つの配列を比較していますが、配列が完全に異なる場合は "Undefined variable:c"というエラーが出ます。どうすればこの問題を解決できますか?カスタム配列比較関数

function myIntersect($a, $b) { 
    foreach ($a as $x) { 
     $i = array_search($x, $b); 
     if ($i !== false) { 
      $c[] = $x; 
      unset($b[$i]); 
     } 
    } 
    return $c; 
} 

結果:

$arrayone = array("3", "2", "1", "2", "3"); 
$arraytwo = array("1", "2", "3", "2", "1"); 
$result = myIntersect($arrayone, $arraytwo); 
print_r($result); // ["3", "2", "1", "2"] 
+1

'$のC =配列()' foreachの前 –

答えて

1

今、それはあなたがブール偽として定義することができ、他の空の配列を定義しますあなたの関数にこれを追加します。 $c=array();

function myIntersect($a, $b) { 
    $c=array();//add this to your function now it will define an empty array else you can define as boolean false 
    foreach ($a as $x) { 
     $i = array_search($x, $b); 
     if ($i !== false) { 
      $c[] = $x; 
      unset($b[$i]); 
     } 
    } 
    return $c; 
} 
+0

パーフェクト!どうもありがとうございました! – blasthrop

+0

@blasthropようこそ.... :) –