首頁  >  問答  >  主體

php怎樣限定方法的參數?參數是一個數組,怎麼規定傳入數組元素的個數和鍵名?

<?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好多地方很不嚴謹啊,這會增加方法體的程式碼量吧? (方法體再寫判斷?)

淡淡烟草味淡淡烟草味2663 天前890

全部回覆(3)我來回復

  • 世界只因有你

    世界只因有你2017-06-14 10:51:58

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

    回覆
    0
  • 漂亮男人

    漂亮男人2017-06-14 10:51:58

    雷雷

    回覆
    0
  • 代言

    代言2017-06-14 10:51:58

    可以考慮用array_diff

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

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

    回覆
    0
  • 取消回覆