2017-07-16 56 views
1

我有兩個關聯的多維數組,現在我想獲得不存在於第二個數組中的值(通過鍵名和類型進行比較)。發現兩個關聯多維數組之間的差異

$sql = "select * from `medicine`;"; 
$result = mysqli_query($con, $sql); 
$response = array(); 
while ($row = mysqli_fetch_array($result)) { 
    array_push($response, array("name" => ucfirst($row['name']), "type" => $row['type'])); 
} 

輸出:

Array ([0] => Array ([name] => A2 [type] => syringe) [1] => Array ([name] => A3 [type] => syringe) [2] => Array ([name] => A3 [type] => capsule) [3] => Array ([name] => A4 [type] => syringe)[4] => Array ([name] => A5 [type] => a) [5] => Array ([name] => A6 [type] => capsule))

$s = "select * from `doctor_medicine` where `email` = '$email';"; 
$res = mysqli_query($con, $s); 
$resp = array(); 
while ($row = mysqli_fetch_array($res)) { 
    array_push($resp, array("name" => ucfirst($row['medicine_name']),"type" => $row['type'])); 
} 

輸出:

Array ([0] => Array ([name] => A2 [type] => syringe) [1] => Array ([name] => A3 [type] => capsule) [2] => Array ([name] => A4 [type] => syringe))

我不知道如何找到差異 結果:

Array ([0] => Array ([name] => A3 [type] => capsule) [4] => Array ([name] => A5 [type] => a) [5] => Array ([name] => A6 [type] => capsule))

+2

更好的你應該張貼代碼和輸出,而不是僅僅截圖。 –

+1

也許'array_diff()'是你所需要的嗎? – colburton

回答

1

您可以使用和array_diff_assoc PHP函數來查找差異或價值是不存在的數組。 例子:

$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); 
$array2 = array("a" => "green", "yellow", "red"); 

$result = array_diff_assoc($array1, $array2); 
print_r($result); 

輸出示例:

Array 
(
    [b] => brown 
    [c] => blue 
    [0] => red 
) 
1

有一個功能array_diff_assoc() 例如:

<?php 
$a = array(
    "who" => "you", 
    "what" => "thing", 
    "where" => "place", 
    "when" => "hour" 
); 

$b = array(
    "when" => "time", 
    "where" => "place", 
    "who" => "you", 
    "what" => "thing" 
); 

$c = array_diff_assoc($a, $b); 
print_r ($c); 
?> 

你可以試試上面的代碼here

你也可以使用array_intersect()的找到resemblance.for例如:

<?php 
$a = array(
    "who" => "you", 
    "what" => "thing", 
    "where" => "place", 
    "when" => "hour" 
); 
$b = array(
    "when" => "time", 
    "where" => "place", 
    "who" => "you", 
    "what" => "thing" 
); 
$c = array_intersect($a, $b); 
print_r ($c); 
?> 

你可以試試上面的代碼here