Tutorials
Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.
Zurück zur Übersicht
PHP: Array nach Keys eines anderen Arrays filtern
#Tutorials#PHP
Hat man ein Array, dass beispielsweise für eine Tabellenartige Ansicht genutzt wird und stellt einen Filter ein, dass nicht mehr alle Spalten gezeigt werden sollen, so hat man meistens folgende Konstellation:
- Array mit allen Spalten
- Array mit Keys der anzuzeigenden Spalten
Um das Ganze nun zu filtern benötigt man array_flip und array_intersect_key.
Das funktioniert dann so. Unser Filter-Array wird mit array_flip so gedreht, dass die Keys auch wirklich die Keys im Array werden. Mit der Funktion array_intersect_key wird dann die Schnittmenge aus beiden Arrays zurückgegegeben und es bleiben nur die Spalten übrig, die im Key-Array vorhanden waren.
Hier ein Beispiel:
$customer['address'] = '123 fake st';
$customer['name'] = 'Tim';
$customer['dob'] = '12/08/1986';
$customer['dontShowMe'] = 'Diese Spalte soll nicht gezeigt werden';
// Array mit Spalten, die gezeigt werden sollen
$filterKeys = array('name', 'dob', 'address');
$customerFiltered = array_intersect_key($customer, array_flip($filterKeys));
Das erzeugt dann folgende Ausgabe für $customerFiltered
Array (
[address] => 123 fake st
[name] => Tim
[dob] => 12/08/1986
)
Kommentare
Es gibt noch keine Kommentare. Sei der Erste!
Hinterlasse einen Kommentar