配列ではなく配列を引数として渡す
PHP では、配列を引数のリストとしてオブジェクトに渡す方法があります。関数。これは、スプレッド演算子 (...) または call_user_func_array() を使用して実現できます。メソッドを見てみましょう:
スプレッド演算子 (PHP 5.6 で導入)
スプレッド演算子は、「スプラット演算子」とも呼ばれ、簡潔でパフォーマンスの高い方法です。配列を引数として解凍します。
function variadic(...$args) { echo implode(' ', $args); } $array = ['Hello', 'World']; // Splatting the $array variadic(...$array); // Output: 'Hello World'
インデックス付きの配列項目がマップされることに注意してください。キーではなく、位置に基づく引数。
call_user_func_array()
call_user_func_array() は、効率は劣りますが、配列を引数として渡すには依然として便利なメソッドです。
function variadic($arg1, $arg2) { echo $arg1 . ' ' . $arg2; } $array = ['Hello', 'World']; // Using call_user_func_array() call_user_func_array('variadic', $array); // Output: 'Hello World'
PHP 8 では、スプレッド演算子を使用するときに名前付き引数を活用できます。連想配列:
function variadic(string $arg2, string $arg1) { echo $arg1 . ' ' . $arg2; } $array = ['arg2' => 'Hello', 'arg1' => 'World']; variadic(...$array); // Output: 'World Hello'
パフォーマンスと利便性が優れているため、スプレッド演算子が推奨される方法です。
以上がPHPで関数に引数として配列を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。