Short&Do
Für ein privates WordPress Projekt stand ich vor dem Problem ein mehrdimensionales Array zu durchsuchen.
Hat man ein mehrdimensionales Array wie z.B.:
[php] $categories=Array
(
(0) => Array
(
(cid) => ’11‘,
(name) => ‚Name 11‘,
(slug) => ‚Slug 11′
),
(1) => Array
(
(cid) => ’12‘,
(name) => ‚Name 12‘,
(slug) => ‚Slug 12′
),
(2) => Array
(
(cid) => ’13‘,
(name) => ‚Name 13‘,
(slug) => ‚Slug 13‘
)
);
[/php]
und will man jetzt den Index vom Array $categories herausfinden, unter dem die (cid) = 11 auftritt, dann hilft die folgende Funktion:
[php] function searchForId($id, $array) {foreach ($array as $key => $val) {
if ($val[‚cid‘] === $id) {
return $key;
}
}
return null;
}
[/php]
Mit dem Aufruf $id = searchForId(’11‘, $categories); bekommt dann die ID 0. Die Funktion kann natürlich erweitert werden, indem der durchsuchende Key ebenfalls ausgewählt werden kann.
[php] function searchForId($searchval, $keystring, $array) {foreach ($array as $key => $val) {
if ($val[$keystring] === $searchval) {
return $key;
}
}
return null;
}
[/php] Dann ergibt der Aufruf $id = searchForId(‚Name 13′, ’name‘, $categories); die ID 2
Quelle: http://stackoverflow.com/questions/6661530/php-multi-dimensional-array-search