ホームページ >バックエンド開発 >PHPチュートリアル >関数の割り当ての問題
例:
PHP の組み込み sprintf() 関数
例:
sprintf($xml,$a,$b);
後でパラメーター $c、$d を挿入したいと思います
ただし、$c、$d はfrom 配列から取り出したデータ。
$array=array(
array('c の内容'),
array('d の内容'),
)
$array をループアウトすると、パラメータを再度入力することは不可能です。方法? ?
$str='';
foreach($array as $key=>$val){
$str.=$val[0].','
}
sprintf($xml,$a,$b) ,$str);
sprintf($xml,$a,$b) の場合
最大 2 つの %s (またはその他) sprintf($xml,$a,$b,$c,$d); と記述すると、構文エラーが発生します
$mxl には 4 つの書式文字が必要です
したがって、次のように考慮してください。値を渡す方法 うまくいきません
sprintf() の形式要件はわかっています。
関数が複数のパラメーターを渡す場合、1 つではなく複数のパラメーターを渡すときに、配列から値を取得して関数に渡す方法はありますか?
call_user_func_array
Xu 上司、あなたはまだ私の言っている意味を理解していません。
私が言いたいのは: メソッドがあります:
function test(){
}
test($a,$b);//後でさらにパラメータがあるかもしれませんが、これらはすべて動的であり、5 つある可能性があります、おそらく6つですが、必ずしもそうではありません。
そこで、配列全体でソース配列を走査したいと思います:
$array=array(1,2,3,4,5);//配列の値をテストの後ろに渡す必要があります(), これは 5 ですが、6 または 7 の可能性があります。
例: test($a,$b,1,2,3,4,5); なので、これを渡すことができるか試してみたいと思います。機能についてはどうですか?
$args='';
foreach($array as $key=>$val){
$args.=$val.',';
substr($args,0,-1); ($a,$b,$args);
しかし、この考えは間違っていて申し訳ありません。渡すとき、ここに渡されるのはパラメータなので、途中でどのような処理を行う必要がありますか?
call_user_func_array
このメソッドは制限が多すぎます。
あなたが何をしたいのか分かりませんが、少なくともあなたが挙げた例には問題があります。
あなたが何をしたいのか分かりませんが、少なくともあなたが挙げた例には問題があります。
メソッドがあります:
test($a,$b);//しかし、後でさらにパラメータを追加したいと思います (おそらく複数)。
$args="a,b,c";
test($a,$b,$args);//現時点ではパラメータが 3 つしかないため、これは実現できません。
私が望む結果は次のとおりです:
test($a,$b,a,b,c);//これは 5 つのパラメータがあり、これが私が望むものです。
すごいですね
あなたはまだ自分の言いたいことを正確に説明していません