php – 參數傳入 function 後,自動轉換參數為陣列的方式

現在我們習慣將參數使用陣列的方式傳入,有個小技巧,可以依照情況使用

<?php
function say($param)
{
    is_array($param) OR $param = array($param);

    return $param;
}

$data = say('Hello');
print_r($data); // Array ( [0] => Hello )

$data = say(['Hello', 'World']);
print_r($data); // Array ( [0] => Hello [1] => World )

呼叫 say() 的時候,我們可以傳入字串,函式內部會將字串轉為陣列,方便內部處理。如果傳入的已經是陣列,那就維持。

有個重點的寫法是這段文字

is_array($param) OR $param = array($param);
//等於
if (!is_array($param)) $param = array($param);

是不是更精簡了呢?

發表迴響