将键和值(作为参数通过函数)添加到数组

时间:2015-06-16 12:17:29

标签: php oop associative-array

首先我们有一个属性是数组:

    private static $_errors = array();

可以通过将错误发送到函数来添加错误,该函数会将其添加到数组中:

    public function addError($error){
    self::$_errors[] = $error;
}

在任何函数中,我都可以轻松地将错误添加为如下字符串:

if(strlen($value) < $rule_value){
                            $this->addError("More than {$rule_value} characters are needed as {$item}.");
                        }

但我想添加一个键和值,例如“message”=&gt; “你好”,但我不知道怎么做。这样:

if(strlen($value) < $rule_value){
                            $this->addError(['min_notmet'] = "More than {$rule_value} characters are needed as {$item}.");
                        }    

不起作用。我尝试过各种各样的事但它必须是同一个数组,我不想将错误添加为数组中的单独数组。希望你能解决这个问题!

1 个答案:

答案 0 :(得分:3)

修改您的addError功能:

public function addError($error, $key=false){
    if($key){
        self::$_errors[$key] = $error;
    }else{
        self::$_errors[] = $error;
    }

} 

然后就会这样:

if(strlen($value) < $rule_value){
    $this->addError("More than {$rule_value} characters are needed as {$item}.", 'min_notmet');
}

如果您没有提供$key参数,它只会像以前一样使用数字键添加元素。