Oft möchte man an eine PHP-Funktion eine nicht genau definierte Menge von Parametern übergeben, die auch nicht unbedingt immer einen vorher bekannten Type haben.
Sinn macht das immer dann, wenn eine Funktion z.B. zu einer Liste von Kategorie-Nummern Datensätze liefern soll oder auch für Debugzwecke, wenn man einfach sämtliche übergebene Funktionsparameter in eine Datei dumpen möchten.
Hier ein kleines Beispiel für eine “DumpToFile”-Funktion:
function DumpToFile() { if( func_num_args() > 0 ) { $args = array(); foreach( func_get_args() as $arg ) { array_push( $args, $arg ); } if( ( $fh = fopen( 'dump.log', 'a' ) ) ) { fprintf( $fh, "%s\n", implode( ', ', $args ) ); fclose( $fh ); } } } // mögliche Aufrufe DumpToFile( 1, 2, 3 ); DumpToFile( 'name', $count, 223 ); |
Jeder Aufruf erzeugt eine Zeile in der Datei “dump.log”. Arrays und Objekte handelt das Beispiel allerdings nicht. Diese werden als “Array” oder “Object” in der Datei abgelegt.