Die Methode „array_multi_search“ durchsucht ein mehrdimensionales Array nach einem Wert. Optional kann die Suche auf einen bestimmten Schlüssel eingeschränkt werden. Im Erfolgsfall wird ein Array mit den Suchergebnissen zurückgegeben.
Code:
function array_multi_search($mSearch, $aArray, $sKey = "")
{
$aResult = array();
foreach( (array) $aArray as $aValues)
{
if($sKey === "" && in_array($mSearch, $aValues)) $aResult[] = $aValues;
else
if(isset($aValues[$sKey]) && $aValues[$sKey] == $mSearch) $aResult[] = $aValues;
}
return $aResult;
}
{
$aResult = array();
foreach( (array) $aArray as $aValues)
{
if($sKey === "" && in_array($mSearch, $aValues)) $aResult[] = $aValues;
else
if(isset($aValues[$sKey]) && $aValues[$sKey] == $mSearch) $aResult[] = $aValues;
}
return $aResult;
}
Anwendungsbeispiele:
$aMyArray[] = array("id" => 1, "name" => "Max Mustermann", "group_id" => 1);
$aMyArray[] = array("id" => 2, "name" => "Karl Aschnikow", "group_id" => 1);
$aMyArray[] = array("id" => 3, "name" => "Rainer Zufall", "group_id" => 2);
//Sucht nach dem Vorkommen der Zahl 2
print_r(array_multi_search(2, $aMyArray));
/*
Ausgabe:
Array
(
[0] => Array
(
[id] => 2
[name] => Karl Aschnikow
[group_id] => 1
)
[1] => Array
(
[id] => 3
[name] => Rainer Zufall
[group_id] => 2
)
*/
//Sucht nach dem Vorkommen der Zahl 1 im Element "group_id"
print_r(array_multi_search(1, $aMyArray, "group_id"));
/*
Ausgabe:
Array
(
[0] => Array
(
[id] => 1
[name] => Max Mustermann
[group_id] => 1
)
[1] => Array
(
[id] => 2
[name] => Karl Aschnikow
[group_id] => 1
)
)
*/
//Sucht den Namen "Rainer Zufall" im Element "name"
print_r(array_multi_search("Rainer Zufall", $aMyArray, "name"));
/*
Ausgabe:
Array
(
[0] => Array
(
[id] => 3
[name] => Rainer Zufall
[group_id] => 2
)
)
*/
$aMyArray[] = array("id" => 2, "name" => "Karl Aschnikow", "group_id" => 1);
$aMyArray[] = array("id" => 3, "name" => "Rainer Zufall", "group_id" => 2);
//Sucht nach dem Vorkommen der Zahl 2
print_r(array_multi_search(2, $aMyArray));
/*
Ausgabe:
Array
(
[0] => Array
(
[id] => 2
[name] => Karl Aschnikow
[group_id] => 1
)
[1] => Array
(
[id] => 3
[name] => Rainer Zufall
[group_id] => 2
)
*/
//Sucht nach dem Vorkommen der Zahl 1 im Element "group_id"
print_r(array_multi_search(1, $aMyArray, "group_id"));
/*
Ausgabe:
Array
(
[0] => Array
(
[id] => 1
[name] => Max Mustermann
[group_id] => 1
)
[1] => Array
(
[id] => 2
[name] => Karl Aschnikow
[group_id] => 1
)
)
*/
//Sucht den Namen "Rainer Zufall" im Element "name"
print_r(array_multi_search("Rainer Zufall", $aMyArray, "name"));
/*
Ausgabe:
Array
(
[0] => Array
(
[id] => 3
[name] => Rainer Zufall
[group_id] => 2
)
)
*/
Super, bin grade auf deine Seite gestoßen und habe genau das gefunden was ich gesucht habe. 🙂 vielen Dank!
Hi Chris,
vielen Dank für dein Feedback. Freut mich, wenn ich dir helfen konnte.
Beste Grüße
Echt eine praktische Funktion!
superrrrr x3
Cool, danke genau danach habe ich gesucht.
Als Anfänger war diese Funktion sehr hilfreich.
Noch heute basieren viele unserer Funktionen auf dieses Beispiel.
Grüße
http://Lexington-Software.de