Rumah > Soal Jawab > teks badan
Saya mahu menggunakan nilai dalam tatasusunan sebagai parameter bebas dalam panggilan fungsi. Contoh:
// Values "a" and "b" $arr = array("alpha", "beta"); // ... are to be inserted as $a and $b. my_func($a, $b) function my_func($a,$b=NULL) { echo "{$a} - {$b}"; }
Bilangan nilai dalam tatasusunan tidak diketahui.
Penyelesaian yang mungkin adalah :
Saya boleh menghantar tatasusunan sebagai parameter tunggal, tetapi lebih suka menghantarnya sebagai berbilang parameter fungsi bebas.
将数组使用implode()函数连接成逗号分隔的字符串。(失败,因为它只是一个字符串。)
Gunakan satu parameter:
$str = "'a','b'"; function goat($str); // $str needs to be parsed as two independent values/variables.
Gunakan eval()
?
Tatasusunan lintasan?
Cadangan dialu-alukan. terima kasih.
P粉0716024062023-07-23 22:33:24
Jika saya memahami anda dengan betul:
$arr = array("alpha", "beta"); call_user_func_array('my_func', $arr);
P粉0630399902023-07-23 16:28:10
Soalan ini agak lama, tetapi terdapat lebih banyak sokongan langsung dalam PHP 5.6+.
http://php.net/manual/en/functions.arguments.php#functions.variable-arg-list.new
$arr = array("alpha", "beta"); my_func(...$arr);