Heim >Backend-Entwicklung >PHP-Tutorial >Warum erhalte ich in PHP die Warnung „Strenge Standards: Nur Variablen sollten als Referenz übergeben werden'?

Warum erhalte ich in PHP die Warnung „Strenge Standards: Nur Variablen sollten als Referenz übergeben werden'?

DDD
DDDOriginal
2024-12-22 12:47:28644Durchsuche

Why Am I Getting the

Verstehen der strengen Standards Warnung: Nur Variablen sollten als Referenz übergeben werden

Wenn Sie auf die Meldung „Strenge Standards: Es sollten nur Variablen als Referenz übergeben werden“ stoßen Wenn Sie die Warnung „Referenz“ verwenden, ist es wichtig, die zugrunde liegende Ursache zu verstehen und zu wissen, wie Sie sie angemessen beheben können. Diese Warnung tritt auf, wenn ein Ausdruck als Referenz und nicht als Variable übergeben wird, wie es strenge Standards erfordern.

Im angegebenen Codeausschnitt:

$el = array_shift($instance->find(..))

Dieser Code löst die Warnung aus, weil $instance- >find(...) ist ein Ausdruck, der ein Array und keine Variable zurückgibt. Dieses Verhalten ist nicht intuitiv, da man erwarten könnte, dass eine Methode, die ein Array zurückgibt, als Variable behandelt wird.

Um diesen Fehler im strikten Modus zu beheben, ziehen Sie die folgenden Optionen in Betracht:

  • Ändern Sie die Signatur der Methode, um die Verwendung einer Referenz zu entfernen:
function test_arr($a) {
    var_dump($a);
}
  • Beim Ändern der Wenn die Signatur der Methode nicht möglich ist, können Sie eine Zwischenvariable einführen:
$inter = get_arr();
$el = array_shift($inter);

Indem Sie die Art der Warnung verstehen und diese Lösungen anwenden, können Sie das Problem effektiv lösen und strenge Standards einhalten.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in PHP die Warnung „Strenge Standards: Nur Variablen sollten als Referenz übergeben werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn