| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: return macht mein Array kaputt?! im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Ich hab folgende Funktion geschrieben um eine Array aus einem verschachtelte Array zu suchen: Code: function suche_array($array,$was){ $oft=count($array); for($x=0;$x<$oft;$x++){ ...
![]() |
| | #1 (permalink) |
| Registriert seit: 05.04.05 ![]() Likes: 0 | return macht mein Array kaputt?! Anzeige Ich hab folgende Funktion geschrieben um eine Array aus einem verschachtelte Array zu suchen: Code: function suche_array($array,$was){
$oft=count($array);
for($x=0;$x<$oft;$x++){
if(key($array)==$was){
return pos($array);
}else{
if(is_array(pos($array))){
suche_array(pos($array),$was);
}
next($array);
}
}
}
////////////////////////////////
$fritz=suche_array($kategorien,$inhalt); print_r($pos($array)) dann gibt er mit das Array brav aus. pos($array) findet also sehrwohl das Array, aber bei der Übergabe mittels return wirds leer... Ist da jemand? //EDIT: ein verschachteltes zum selber probieren: $kategorien=array( "Leibchen"=>array("Hemden"=>"Hemden","T-Shirts"=>"T-Shirts","Pullover"=>array("Baumwolle"=>"Baumwolle" ,"Polyester"=>"Polyester")), "Hosen"=>array("Shorts"=>"Shorts","Kordhosen"=>"Ko rdhosen"), "Unterwaesche"=>array("Socken"=>"Socken","Unterhos en"=>"Unterhosen"), "Sonstiges"=>"Sonstiges"); Die erste und zweite Eben gehen, Pullover kann er nicht auflisten |
| | |
| | #2 (permalink) |
| Registriert seit: 22.10.05 ![]() Likes: 0 | Wie du beobachtet hast: Wenn du nach einer Obergruppe oder einer Untergruppe, die kein Array ist, suchst, liefert deine Funktion ein richtiges Ergebnis. Sie liefert also kein vernünftiges Ergebnis, wenn sie sich selbst rekursiv aufruft. Und das liegt daran, dass der Rückgabewert beim rekursiven Aufruf nicht beachtet wird (Zeile 8 ). Die Funktion findet das Gesuchte und kehrt dann zur Oberfunktion zurück, von der sie aufgerufen wurde. Das Ergebnis wird zwar an die Oberfunktion übergeben, von dieser aber nicht aufgenommen. In Zeile 8 müsste also noch überprüft werden, ob die Funktion erfolgreich ist und ggf. den Wert zurückgeben. Code: if($ret = suche_array(pos($array),$was))
return $ret; WebSpider |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| php curl array string zu array parsen | b4ck | (Web-) Design und webbasierte Sprachen | 5 | 12.12.07 17:11 |
| Notebook fährt langsam hoch, Copy+Paste kaputt, InstallShield kaputt | Pastor | Die Problemzone | 4 | 03.05.06 22:46 |
| Mandriva macht dem Windows das Internet kaputt | Alexias | Windows | 4 | 29.11.05 23:46 |
| Mein Esel (emule) macht mir zur schnecke | Foxalem | Internet Allgemein | 16 | 03.07.05 18:32 |
| Array wird nach Absturz als kaputt erkannt! | Olleck | Hardware Probleme | 6 | 04.10.04 21:27 |