Hallo..
Ich hab ein Problem mit der suche in multi arrays.
Meine arrays schauen in etwa so aus:
....
[0] => Array
(
[datum] => 20050101
[dateiname] => 20050101141452xxxx_xxx@xxxx.man.de..test3.pdf
[ordner] => anlage
[uhrzeit] => 141452
[mail] => xxx_xxxxx@xxxxx.man.de
[subjekt] => test3
)
.....
jetzt möchte ich eine suche starten können, die z.B auch mit wildcards funzt z.B test*, *ficker*
hab mit nen codeschnipsel vom phpmanual mit array_search geschafft das ich nach genauen daten suchen kann (z.B test3)..
Ich hab auch versucht was anständiges mit stristr(); hinzubekommen.. aber leider ohne erfolg... Es muss auch nicht unbedingt mit * sein.
Könnte mir vielleicht jemand helfen. wo muss ich dort das stristr() einsetzen bzw. wer hat eine andere lösung für mich?
hier den code der einigermaßen funktioniert. halt nur ohne wildcards
Bye
Ich hab ein Problem mit der suche in multi arrays.
Meine arrays schauen in etwa so aus:
....
[0] => Array
(
[datum] => 20050101
[dateiname] => 20050101141452xxxx_xxx@xxxx.man.de..test3.pdf
[ordner] => anlage
[uhrzeit] => 141452
[mail] => xxx_xxxxx@xxxxx.man.de
[subjekt] => test3
)
.....
jetzt möchte ich eine suche starten können, die z.B auch mit wildcards funzt z.B test*, *ficker*
hab mit nen codeschnipsel vom phpmanual mit array_search geschafft das ich nach genauen daten suchen kann (z.B test3)..
Ich hab auch versucht was anständiges mit stristr(); hinzubekommen.. aber leider ohne erfolg... Es muss auch nicht unbedingt mit * sein.
Könnte mir vielleicht jemand helfen. wo muss ich dort das stristr() einsetzen bzw. wer hat eine andere lösung für mich?
hier den code der einigermaßen funktioniert. halt nur ohne wildcards
PHP-Code:
function multi_array_search($needle, $haystack, $strict = false, $s_key = false, $bugfix = false){
foreach($haystack as $key => $value){
if($s_key) $check = $key;
else $check = $value;
if(is_array($value) && multi_array_search($needle, $value, $strict, $s_key) || stristr($value, $needle) || (
$check == $needle && (
!$strict ||
gettype($check) == gettype($needle) ||
$bugfix &&
$s_key &&
gettype($key) == 'integer' &&
gettype($needle) == 'string'
)
)
)
Kommentar