PHP: Der richtige Weg, die Variable vor der Verwendung in der Schleife zu deklarieren

7

Ich habe eine Variable, die in Schleife eingebaut ist. Etwas wie:

%Vor%

Wenn $ str="" weggelassen wird, erhalte ich eine undefinierte Variable notice, aber ich dachte, dass php eine Variable deklariert, wenn sie das erste Mal nicht deklariert wird?

Wie mache ich das richtig?

    
syaz 28.10.2008, 16:12
quelle

4 Antworten

14

Sie erhalten die undefinierte Variable, weil Sie den Wert von sich selbst mit einem anderen Wert verketten.

Das Äquivalent von

  

$str = $str . "something";

Also kann es nicht sagen, was der Anfangswert ist. Es ist das Äquivalent von diesem:

  

$str = [undefined value] . "something";

Was ist das Ergebnis einer Verkettung von [undefined value] und "something" ? Der Dolmetscher kann nicht sagen ...

Sie müssen also "" in die Variable einfügen, um den Wert der Variablen zu initialisieren, wie Sie es getan haben.

HTH

    
vIceBerg 28.10.2008, 16:15
quelle
8

Wenn du es wirklich sauberer machen musst, könntest du:

%Vor%

Aber was du hast, ist, was ich normalerweise tue. vlceBerg erklärt es gut.

    
Ross 28.10.2008 16:18
quelle
4

Es ist sicherer, die Funktion zur automatischen Deklaration nicht zu verwenden - deshalb wird eine Benachrichtigung ausgegeben. Eine Benachrichtigung ist die niedrigste Warnstufe und wird nicht standardmäßig angezeigt. Die meisten älteren PHP-Apps werden viele Hinweise ausgeben, wenn Sie sie aktivieren.

    
Greg 28.10.2008 16:17
quelle
2

PHP-Variablen, die automatisch deklariert werden, werden als undefiniert registriert, weshalb Sie die Benachrichtigung erhalten.

Es ist im Allgemeinen besser, PHP-Variablen vor der Verwendung zu deklarieren, obwohl viele der Faulen unter uns, mich selbst nicht immer das tun.

    
Noah Goodrich 28.10.2008 16:21
quelle

Tags und Links