0

複数のパラメーターを持つ関数があります。場合によっては、ユーザーが 1 番目、2 番目、4 番目を指定する必要がありますが、3 番目は指定しない必要があります。JavaScript では、無名オブジェクトを関数全体の単一パラメーターとして使用することで、簡単にそれを行うことができます。

function foo(args) {
    if(args.arg0 != null) alert(args.arg0);
    if(args.arg1 != null) alert(args.arg2);
    if(args.arg2 != null) alert(args.arg1);
}

foo({
   arg0: 'foo',
   arg2: 10
});

PHPでそれを行いたい場合は、連想配列を使用して、上記の関数でこの匿名オブジェクト「args」と同じ役割を果たすことができます:

foo(array(
   'arg0' => 'foo',
   'arg2' => 10
));

複数のパラメーターを使用すると、次のように記述できない可能性があるため、これは不可能です。

foo('foo', , 10);

何らかの理由で、そのために配列を使用するのは汚いと思います。「よりクリーンな」方法がないかどうか疑問に思います。

ご協力いただきありがとうございます :)

4

1 に答える 1

-1

配列が良い解決策であると言う他のコメンテーターに同意します。ただし、このチェックを処理する別の方法が必要な場合は、func_get_args()

于 2012-12-06T03:02:44.233 に答える