PHP 4.2.3 stürzt bei Funktionsaufruf ab
Tom Wieczorek
- php
Also es läuft jetzt zwar aber ich würde doch gerne mal eure meinung dazu hören. Ich habe eine Fkt geschrieben die beliebige argumente in ein einziges array aus strings zusammenfasst und zurückgibt. also auch mehrdimensionale arrays. Funktionsquellcode:
function get_stringarray($offset=0) {
$stringarray=array();
// for ($i=1; $i<func_num_args(); $i++) { // <- FEHLER
for ($i=$offset+1; $i<func_num_args(); $i++) {
$actual=func_get_arg($i);
if (is_array($actual)) {
$stringarray=array_merge($stringarray, get_stringarray(0,$actual));
} else {
if (is_object($actual)) trigger_error("Eine übergebene Varialble an get_stringarray() ist ein Objekt", E_USER_WARNING);
array_push($stringarray, $actual);
}
}
return $stringarray;
}
nu hab ich die erste for-Schleife auskommentiert wo $i=1 gesetzt wird. Offset soll bestimmen ab welchem element die werte im stringarray landen sollen. Naja auf jeden fall produziert die Fkt mit $i=1 anstatt mit $i=1+$offset einen php-absturz, also unter win2k "php.exe hat einen fehler verursacht. Fehlerprotokoll wird gespeichert usw.", keine php-fehlermeldung im browser à la "Fatal Error:..." wie sonst...
jetzt frage ich mich ob sowas öfter passieren kann oder ob das ein php-bug ist, dass da kein fehler ausgeschmissen wird... ausserdem ist mir nicht klar warum das einen fehler produziert, da imo die Fkt mit $i=1 genauso funktionieren müsste wie ohne, halt nur dass das offset immer 0 ist....
und zum schluss noch vielleicht ideen wie man das o.g. problem noch besser lösen könnte ;-)
grüsse
Tom