我有一个类:

class Validator {
    private $validationArray;
    private $cleanedValues;

    public function __construct($arg1, $arg2=NULL) {
        if(empty($arg2)) {
            $this->LoadValidatorByName($arg1);
        } else {
            $this->LoadValidatorFromLeadType($arg1, $arg2);
        }
    }

    private function LoadValidatorFromLeadType($lead_type, $vocabulary) {
            $ErrorReporter = new ErrorReporter;
            $taxonomy_term = reset(taxonomy_get_term_by_name($lead_type, $vocabulary));

...some more stuff

该函数taxonomy_get_term_by_name是一个Drupal函数,但是我遇到的问题是一个PHP。

调用此方法时,PHP会提示:
Strict warning: Only variables should be passed by reference in Validator->LoadValidatorFromLeadType() (line 32 of [path to my file])

第32行是这样的行:
$taxonomy_term = reset(taxonomy_get_term_by_name($lead_type, $vocabulary));

我已经仔细研究了该错误,并且很确定自己知道这意味着什么,但是我无法理解导致此警告的代码出了什么问题。

最佳答案

reset正在等待变量引用。您正在将其传递给函数结果...

$taxonomy_term = taxonomy_get_term_by_name($lead_type, $vocabulary);
$taxonomy_term = reset($taxonomy_term );

09-25 15:23