OT: Warum "Illegal offset type" - php5
Hallo Welt, Auch wenn das hier nicht gerade die richtige Liste ist, so hoffe ich dennoch das mir jemand bei dem Problem helfen kann. Ich habe bereits viel im Web gegoogeld, aber keine Lösung gefunden. Jedoch die Bestätigung das ich nicht der einzigste in der Welt bin, der die gleiche Fehlermeldung bekommen hat. Beim Aufruf der nachfolgenden Funktion bekomme ich immer die Fehlermeldung:* PHP Warning: Illegal Offset Type in...* /(die betreffende Zeile ist im Code mit einem Kommentar versehen) /Dabei verstehe ich nicht wieso da überhaupt was falsch sein sollte, geschweige denn wie ich diesen Fehler /(Warnung)/ beseitigen sollte. $table entspricht dabei /(beispielsweise)/ dem folgenden Array:/ /______________________________________________________________________ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Array ( [0] => Array ( [id] => 123 [name] => herbert ) [1] => Array ( [id] => 234 [name] => hugo ) [2] => Array ( [id] => 345 [name] => heinz ) [3] => Array ( [id] => 456 [name] => harry ) ) ______________________________________________________________________ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ function search_table( $value, $key, $table ) { // sucht in $table unter dem $key nach $value und gibt den // $index zurück, sofern $value gefunden wurde, andernfalls wird // NULL zurück gegeben $table[$index][$key] = $value $index = NULL; foreach ( $table as $i ); { if ( strcmp( $table[$i][$key] , $value ) == 0 ) // <-- FEHLER { $index = $i; break; } } return $index; } ______________________________________________________________________ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Sorry Leute :) Problem ist gelöst, man sollte auf Hashes nur dann zugreifen wenn sie auch einen passenden Key haben, ansonsten gibt es eben Mecker. Außerdem hab ich noch in der Schleife einen eklatanten Fehler gemacht der sich folgendermaßen bereinigt (für die interessierten): for ( $i = 0 ; $i < sizeof($table) ; $i++ ) { if ( strcmp( $table[$i][$key] , $value ) == 0 ) { $index = $i; break; } } Peinlich Grüßt Martin P.S.: Gute 10 Jahre Programmier-Abstinenz hinterlassen offenbar Ihre Spuren /Räusper/ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (1)
-
Martin Parusel