Hi Leute
ist es möglich einen Array zu durchsuchen und dabei mehr als einen Rückgabewert zu erhalten?
Ich erfinde mal ein Beispiel!
Etwa:
Ich möchte nun die Möbel durchsuchen,
und zwar nach dem String "S"! Erstmal soll er nicht
auf Groß/Kleinschreibung achten - bis jetzt tut er das
auch nicht also so wie ichs mach ! Dann anschließend soll
er mir die Möbel-"ID" zurückgeben und eventuell weitersuchen!
Denn mit S würde er ja schließlich: 1,2,4,5,6,7,8 finden!
Mit meiner Funktion sucht er bis 8 durch... Nur gibt er mir nur 8 zurück! Wo ist der Fehler?
Benutze diese Funktion (mit strtolower wegen Großkleinschreibung)
Wie geht das?
lg andi
ist es möglich einen Array zu durchsuchen und dabei mehr als einen Rückgabewert zu erhalten?
Ich erfinde mal ein Beispiel!
Etwa:
Code:
[moebel] => Array
(
[1] => Array
(
[name] => Spuehle
[kosten] => 2500
[alter] => 3
)
[2] => Array
(
[name] => Tisch
[kosten] => 50
[alter] => 1
)
[3] => Array
(
[name] => Lampe
[kosten] => 80
[alter] => 1
)
[4] => Array
(
[name] => Vorhangstange
[kosten] => 5
[alter] => 1
)
[5] => Array
(
[name] => Schrank
[kosten] => 3500
[alter] => 1
)
[6] => Array
(
[name] => Schreibtisch
[kosten] => 500
[alter] => 1
)
[7] => Array
(
[name] => Sofa
[kosten] => 500
[alter] => 1
)
[8] => Array
(
[name] => Fernseher
[kosten] => 800
[alter] => 1
)
)
und zwar nach dem String "S"! Erstmal soll er nicht
auf Groß/Kleinschreibung achten - bis jetzt tut er das
auch nicht also so wie ichs mach ! Dann anschließend soll
er mir die Möbel-"ID" zurückgeben und eventuell weitersuchen!
Denn mit S würde er ja schließlich: 1,2,4,5,6,7,8 finden!
Mit meiner Funktion sucht er bis 8 durch... Nur gibt er mir nur 8 zurück! Wo ist der Fehler?
Benutze diese Funktion (mit strtolower wegen Großkleinschreibung)
PHP:
function array_find($needle, $haystack, $search_keys = false) {
if(!is_array($haystack)) return false;
$needle = strtolower($needle);
foreach($haystack as $key=>$value) {
$key = strtolower($key);
$value = strtolower($value);
$what = ($search_keys) ? $key : $value;
if(strpos($what, $needle)!==false) { return $key; }
}
return false;
}
lg andi
Zuletzt bearbeitet: