将键和值(通过函数作为参数)添加到数组
Add key and value (as argument via function) to 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" => "hello",但我不知道该怎么做。这个:
if(strlen($value) < $rule_value){
$this->addError(['min_notmet'] = "More than {$rule_value} characters are needed as {$item}.");
}
不起作用。我尝试了各种各样的事情。但它必须是同一个数组,我不想将错误作为单独的数组添加到数组中。希望你能解决这个问题!
修改您的 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
参数,它将像以前一样使用数字键添加元素。
首先我们有一个 属性 数组:
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" => "hello",但我不知道该怎么做。这个:
if(strlen($value) < $rule_value){
$this->addError(['min_notmet'] = "More than {$rule_value} characters are needed as {$item}.");
}
不起作用。我尝试了各种各样的事情。但它必须是同一个数组,我不想将错误作为单独的数组添加到数组中。希望你能解决这个问题!
修改您的 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
参数,它将像以前一样使用数字键添加元素。