PHPでfunctionの可変長引数をとりたい場合には
func_num_args()
と
func_get_arg()
を使う。
したらこんなエラーがでてしまった
Can’t be used as a function parameter
なんぞい。
だいたいこんなようなソースだったわけですよ
for ($i = 1; $i < func_num_args(); $i++) { $val = trim(func_get_arg($i)); }
どうやらfunc_get_arg(N)はfunctionのパラメータに使用してはいけないらしい。
知らんがな。
まぁ、マニュアル見たらしっかり
この関数は、カレントスコープに依存してパラメータの詳細を決定しますので、 5.3.0 より前のバージョンでは関数パラメータとして使用することができません。もし、この値を渡さなければならない場合、戻り値を変数に割り当て、その変数を渡してください。
ってかいてあったけどね。
知らんがな。
こうなふうに一度変数に入れてから処理してあげればよいらしい。
for ($i = 1; $i < func_num_args(); $i++) { $val = func_get_arg($i); $val = trim($val); }
Comments are closed.