2016-11-27 4 views
-2

ist dies die print_r der Arrays und die letzte ist das Ergebnis verwenden:wie array_diff

Array ([0] => 28 [1] => 29 [2] => 30 [3] => 31 [4] => 32 [5] => 33 [6] => 34) 

Array ([0] => 28 [1] => 29 [2] => 30 [3] => 31 [4] => 32 [5] => 33 [6] => 34 [7] => 35) 

result: 
Array ([1] => 29 [2] => 30 [3] => 31 [4] => 32 [5] => 33 [6] => 34) 

ich ein Array erhalten möge, die fehlenden 35 Einträge seit seinem einzigen hält und ich aus irgendeinem Grunde bekomme das ganze erste Array wenn ich das zweite Array zuerst in die Funktion setze bekomme ich alle Einträge des zweiten.

+3

Wo ist Ihr Code? – segFault

+1

Wenn Sie sich nur gefragt haben, wie Sie diese Funktion verwenden, überprüfen Sie die [docs] (http://php.net/manual/en/function.array-diff.php) es ist wirklich ziemlich einfach. – segFault

Antwort

0

Bei der Verwendung von array_diff wird das erste Array verwendet und mit anderen Arrays verglichen.

Ihre 35 ist wie so gefunden:

$array1 = Array (28, 29, 30, 31, 32, 33, 34); 

$array2 = Array (28, 29, 30, 31, 32, 33, 34, 35); 

$diff = array_diff($array2, $array1); 

print_r($diff); 

Gibt:

Array 
(
    [7] => 35 
) 
0

die Array-Funktion array_diff() Verwenden Sie erreichen können, was Sie suchen. Vergleicht $arr2 mit $arr1 und gibt die Werte in $arr2 zurück, die in $arr1 nicht vorhanden sind.

$arr1 = range(28, 34); 
$arr2 = range(28, 35); 

$arr = array_diff($arr2, $arr1); 
print_r($arr); // Array ([7] => 35) 
Verwandte Themen