Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

return macht mein Array kaputt?!

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++){ ...

Antwort
Alt 03.01.07, 15:45   #1 (permalink)
 
Registriert seit: 05.04.05
jami Leistung: Facit NTK
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);
Wenn ich die Funktion so aufrufe, dann ist das $fritz-Array leer. Wenn ich aber in der Funktion vor das return schreibe
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
jami ist offline   Mit Zitat antworten
Alt 03.01.07, 18:06   #2 (permalink)
 
Registriert seit: 22.10.05
WebSpider Leistung: Facit NTK
Likes: 0
Standard

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
WebSpider ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 03.01.07, 19:15   #3 (permalink)
Themenstarter
 
Registriert seit: 05.04.05
jami Leistung: Facit NTK
Likes: 0
Standard

Danke, da wär ich nie selbst drauf gekommen...
jami ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » return macht mein Array kaputt?!
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ä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


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61