PHP 三個點運算子(可變參數) Variadic Function
官方文件:
https://www.php.net/manual/en/migration56.new-features.php
- 可支援版本 php 5.6 以上
緣由
只有在 function 內才看過這個運算子,第一次聽到同事說可以用在 function 以外的地方,覺得很神奇。
function 內使用像是濃縮(packing)在一起,在外面就是一個 foreach 釋放(unpacking)所有的值。
使用在function 中
1 | function add(int ... $nums) { |
使用在function 外
情境是:有客服的多組Email,再寄信給乘客時要連同客服的Email一起寄出。
一般解法需要把多組Email的字串拆解成 array, 再將單一字串的Email加入到 array 中
1 | $serviceMails = 'test1@example.com,test2@example.com'; |
小實驗
- 是否可以宣告型別
int
或string
?可以
1 | function test(array ...$data) { |