Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将键和值(通过函数作为参数)添加到数组中_Php_Oop_Associative Array - Fatal编程技术网

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

Php 将键和值(通过函数作为参数)添加到数组中,php,oop,associative-array,Php,Oop,Associative Array,首先,我们有一个属性,即数组: private static $_errors = array(); public function addError($error){ self::$_errors[] = $error; } 可以通过将错误发送到函数来添加错误,该函数会将错误添加到数组中: private static $_errors = array(); public function addError($error){ self::$

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

    private static $_errors = array();
    public function addError($error){
    self::$_errors[] = $error;
}
可以通过将错误发送到函数来添加错误,该函数会将错误添加到数组中:

    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}.");
                        }
if(strlen($value) < $rule_value){
    $this->addError("More than {$rule_value} characters are needed as {$item}.", 'min_notmet');
}
if(strlen($value)<$rule\u值){
$this->addError(“需要超过{$rule_value}个字符作为{$item}”);
}
但是我想添加一个键和值,例如“message”=>“hello”,但我不知道怎么做。这:

if(strlen($value) < $rule_value){
                            $this->addError(['min_notmet'] = "More than {$rule_value} characters are needed as {$item}.");
                        }    
if(strlen($value)<$rule\u值){
$this->addError(['min\u notmet']=“{$item}需要超过{$rule\u value}个字符。”);
}    

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

修改您的
加法器
函数:

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}.");
                        }
if(strlen($value) < $rule_value){
    $this->addError("More than {$rule_value} characters are needed as {$item}.", 'min_notmet');
}
if(strlen($value)<$rule\u值){
$this->addError(“作为{$item},需要超过{$rule\u value}个字符,'min\u notmet');
}

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

修改您的
加法器功能:

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}.");
                        }
if(strlen($value) < $rule_value){
    $this->addError("More than {$rule_value} characters are needed as {$item}.", 'min_notmet');
}
if(strlen($value)<$rule\u值){
$this->addError(“作为{$item},需要超过{$rule\u value}个字符,'min\u notmet');
}

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

修改您的
加法器功能:

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}.");
                        }
if(strlen($value) < $rule_value){
    $this->addError("More than {$rule_value} characters are needed as {$item}.", 'min_notmet');
}
if(strlen($value)<$rule\u值){
$this->addError(“作为{$item},需要超过{$rule\u value}个字符,'min\u notmet');
}

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

修改您的
加法器功能:

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}.");
                        }
if(strlen($value) < $rule_value){
    $this->addError("More than {$rule_value} characters are needed as {$item}.", 'min_notmet');
}
if(strlen($value)<$rule\u值){
$this->addError(“作为{$item},需要超过{$rule\u value}个字符,'min\u notmet');
}

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

您还可以更改参数顺序并使
$key
可选您还可以更改参数顺序并使
$key
可选您还可以更改参数顺序并使
$key
可选您还可以更改参数顺序并使
$key
可选