2017-04-13 117 views
0

這個自定義函數比較兩個數組,但是如果數組完全不同,我會得到錯誤「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

添加到您的功能現在將定義一個空數組否則你可以定義爲布爾值false。 $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歡迎.... :) –