Tom: Syntaxabkürzung

Beitrag lesen

Hello,

was macht diese Zeile:

$var1=$var2[0]>0;

diese Zeile weist der Variablen $var1 einen Boolschen Wert (entweder true oder false) zu, abhängig davon, ob das erste Array-Element von $var2 (Arrays beginnen mit "0" als erstem Index) einen Wert größer null enthält.

...ob der Weert des Array-Elementes mit dem Index 0 größer als 0 ist.
Es muss weder das erste Element sein, noch ist es obligatorisch, dass Arrays in PHP mit dem Index 0 beginnen.

Ein Array in PHP kann rein numerische Index haben,
Ein Array in PHP kann reine String-Index haben (literale Indexe)
Ein Array in PHP kann gleichzeitig numerische und literale (String-) Indexe haben.

Die Arrays mit literalen Indexen nennt man dann in PHP assoziative Arrays.

@LSpree:

Diese Kurzschreibweise findet man in vielen (höheren) Programmiersprachen.
Sie bedeutet:

if ($var2[0] > 0)
    {
        $var1 = true;
    }
    else
    {
        $var1 = false;
    }

So würde das aber kein Programmierer mehr schreiben.
Allerdings gibt es einige, die Wert darauf legen, bei der Kurzschreibweise zusätzlich Klammern zu setzen:

$var1 = ($var2[0] > 0);

Das ist formal richtig und vereinfacht das Erkennen des Zusammenhangs, speziell auch dann, wenn der Ausdruck auf der rechten Seite komplexer wird. Es ist aber keinesfalls notwendig.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de