php怎样限定方法的参数?参数是一个数组,怎样规定传入数组元素的个数和键名?
淡淡烟草味
淡淡烟草味 2017-06-14 10:49:58
0
3
926
<?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 及任何其它参数数组中的值。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板