我有一个返回整数的函数,但是我想扩展它以为其添加新的参数。但是,使用此参数时,该函数将必须返回数组

  • 拥有基于参数返回数组或整数的函数是不好的做法吗?
  • 如果是,我该如何解决?

  • 我认为将整个功能复制并粘贴4-5条额外的行也是不好的做法。

    最佳答案

    如果可能的话,我会从另一个函数中调用一个函数。

    function getSingle($arg)
    {
        // Do whatever it is your function should do...
        return 1;
    }
    
    function getMultiple($args)
    {
        $out = array();
        foreach ($args as $arg) {
            $out[] = getSingle($arg);
        }
    
        return $out;
    }
    

    对于您考虑的功能,可能无法执行此操作,但这可能是一个不错的选择。

    需要特别注意的是,由于这些函数相互关联,因此我将它们编写为类方法以将它们“分组”在一起。

    Users为例;我可能需要一个函数来获取一个用户,另一个函数来获取多个用户。将这些方法收集在一个类中是有意义的:
    class Users
    {
        public function getUser($id){}
    
        public function getUsers(array $id = null){}
    }
    

    10-04 21:19
    查看更多