Mailinglisten-Archive |
> Guten Morgen, Markus! :-) > > Am Dienstag, 21. Oktober 2003 02:09 schrieb markus espenhain: > > gibt's eine moeglichkeit die anzahl von einer funktion geforderten > > Parameter zu ermitteln? (function func ($x,$y) = 2) > > Guck Dir bitte mal die Funktionen zur Funktionsbehandlung an: > http://de3.php.net/manual/de/ref.funchand.php guten morgen den eintrag im manual hab ich gesehen - ich finde da aber nur methoden die mir die anzahl der parameter zurueck geben die einer funktion uebergeben wurden und nicht die anzahl von parametern die eine funktion bei ihrem aufruf verlangt - oder ueberseh ich da was? ich hab das gestern dann noch so geloest - @call_user_func_array (array (&$obj,$cmd),$args); - und das geht auch erst mal > > ... und gleich noch ne frage - warum bekomme ich bei - in_array > > ($obj,$arr) - den fehler das es der falsche datentyp fuer's erste > > argument ist - sollte doch gehen oder? > Wie sieht Dein Code denn aus? Irgendein Fehler wird schon drin sein, > sonst wuerde PHP nicht meckern. :-) Ich habe mir gerade noch einmal die > Funktionsbeschreibung durchgelesen: > http://de3.php.net/manual/de/function.in-array.php > Mein Erklaerungsansatz fuer Dein Problem: > Du hast den optionalen dritten Parameter der Funktion gesetzt, und zwar > auf TRUE. In diesem Falle passiert dies: > "Ist der dritte Parameter strict auf TRUE gesetzt, prüft in_array() auch > die Typen von needle in haystack." > D.h. es koennte sein, dass der Datentyp, den Du bei $obj uebergibst, > nicht mit dem Datentyp eines oder mehrerer Elemente in $array > uebereinstimmt. Folglich kommt eine Fehlermeldung, weil der Datentyp in > dieser Konstellation uebereinstimmen muss. ... leider nicht - der dritte parameter ist nicht gesetzt und mein code dazu sieht so aus: function func (&$obj) { if (!is_object ($obj) || in_array ($obj,$this->arr)) return false; $this->arr[] = $obj; return true; }; der gleiche fehler kommt auch bei array_search () danke markus
php::bar PHP Wiki - Listenarchive