php怎樣限定方法的參數?參數是一個數組,怎麼規定傳入數組元素的個數和鍵名?
淡淡烟草味
淡淡烟草味 2017-06-14 10:49:58
0
3
925
<?php

class mysql
{
    private $con;
    private $query;


    public function err($error)
    {
        die('操作错误,错误信息为:' . $error);
    }


    public function connect(array $config)
    {
        extract($config);
        $this->con = mysqli_connect($dbhost, $dbuser, $dbpsw);
        if (!$this->con) {
            $this->err(mysqli_connect_error());
        }
        if (!mysqli_select_db($this->con, $dbname)) {
            $this->err(mysqli_error($this->con));
        }
        mysqli_query($this->con, "set name " . $dbcharset);
    }
}
?>

在connect方法中,要規定傳入的陣列為5個:keyarray($dbhost,$dbuser,$dbpsw,$dbname,$dbcharset)

習慣了Java的強型,感覺PHP好多地方很不嚴謹啊,這會增加方法體的程式碼量吧? (方法體再寫判斷?)

淡淡烟草味
淡淡烟草味

全部回覆(3)
世界只因有你

定義一個標準的值數組,使用 array_merge 把標準數組和傳遞的參數合併,使用時按標準數組的鍵名取值。
參考:https://github.com/top-think/...

漂亮男人

雷雷

代言

可以考慮用array_diff

array array_diff ( array $array1 , array $array2 [, array $... ] )

對比傳回在 array1 中但是不在 array2 及任何其它參數數組中的值。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板