Hi Leute, ich benötige gewisse Elemente eines Arrays, die in einem anderen nicht enthalten sind. Dazu benutze ich folgenden Code, der allerdings nicht wie erwartet reagiert. Hier zunächst die var_dump() Ausgaben im Code:
Wie man sieht, ist das letzte Array leer, obgleich es eigentlich die nicht enthaltenen Elemente von array2 verglichen mit array1 enthalten sollte. Hier noch der Code:
Code:
Alle Dateinamen in der Datenbank
array(10) { [0]=> string(9) "haus1.jpg" [1]=> string(10) "villa1.jpg" [2]=> string(9) "immo4.jpg" [3]=> string(24) "kitchen-1940175__340.jpg" [4]=> string(21) "modern-minimalist.jpg" [5]=> string(27) "Artwork-20180803-184430.png" [6]=> string(27) "Artwork-20180803-184813.png" [7]=> string(27) "Artwork-20180803-184430.png" [8]=> string(27) "Artwork-20180803-184813.png" [9]=> string(27) "Artwork-20180803-185427.png" }
Bereinigte(unique) Dateinamen in der Datenbank
array(8) { [0]=> string(9) "haus1.jpg" [1]=> string(10) "villa1.jpg" [2]=> string(9) "immo4.jpg" [3]=> string(24) "kitchen-1940175__340.jpg" [4]=> string(21) "modern-minimalist.jpg" [5]=> string(27) "Artwork-20180803-184430.png" [6]=> string(27) "Artwork-20180803-184813.png" [9]=> string(27) "Artwork-20180803-185427.png" }
Beseitigte Dateinamen in der Datenbank
array(0) { }
Wie man sieht, ist das letzte Array leer, obgleich es eigentlich die nicht enthaltenen Elemente von array2 verglichen mit array1 enthalten sollte. Hier noch der Code:
PHP:
$arrayOfAllFilenames = array();
foreach ($modelDateianhang as $item) {
array_push($arrayOfAllFilenames, $item->dateiname);
}
$arrayOfFilesNamesUnique = array_unique($arrayOfAllFilenames);
$arrayOfDifference = array_diff($arrayOfAllFilenames,$arrayOfFilesNamesUnique);
print_r('Alle Dateinamen in der Datenbank<br>');
var_dump($arrayOfAllFilenames);
print_r('<br>Bereinigte(unique) Dateinamen in der Datenbank<br>');
var_dump($arrayOfFilesNamesUnique);
print_r('<br>Beseitigte Dateinamen in der Datenbank<br>');
var_dump($arrayOfDifference);
die();