2017-10-31 1 views
1

Ich versuche einen Code zu schreiben, der bei der Nummer 10 beginnt und bei 1 endet, wobei jede ungerade Zahl 1 zur Zahl addiert und jede gerade Zahl von der Zahl 1 subtrahiert. Der Code funktioniert ohne "<br />" aber ohne es sind meine Nummer alle in der gleichen Zeile und ich benutze phpfidle. Der Syntaxfehler kommt, wenn ich versuche, dass die Zahlen jeweils eine eigene Zeile haben. Bitte helfen Sie mir, verrückt zu werden. Ich bin auch neu in PHP und Codierung im Allgemeinen, also bitte dumb it down, damit ich lol verstehen kann. HierSyntaxfehler macht mich verrückt

ist der Code:

<?php 
for($i = 10; $i >= 1; $i--) { 
    if($i%2 >0) { 
     echo $i+1. "<br />" ; 
    else { 
     echo $i-1. "<br />" ; 
    } 
?> 
+1

Versuchen 'echo ($ i + 1). "
"; 'und' echo ($ i-1). "
"; ' –

+2

Sie verpassen eine Klammer vor Ihrem" else ". Versuchen Sie auch, Ihre Ausdrücke in Klammern zu setzen. – aynber

+0

Entfernen Sie einfach die beiden vorhandenen '
' Tags und fügen Sie nach der if/else-Anweisung ein einzelnes 'echo'
';' hinzu. –

Antwort

2

dies Ihr Code ist, dann aber mit den letzten Klammern und einen Raum zwischen den String Verkettungen ... nicht sicher, ob das Ergebnis des Codes ist, was Sie suchen , aber es

<?php 
for($i = 10; $i >= 1; $i--) { 
    if($i%2 >0) { 
    echo $i+1 . "<br />" ; 
    } else { 
    echo $i-1 . "<br />" ; 
    } 
} 
?> 
+0

Du mein Freund bist ein Lebensretter. Ich habe keine Ahnung, was ich falsch gemacht habe, ich versuche es jetzt herauszufinden .. Ich habe an diesem Code eine ganze Woche lang gearbeitet, um es mit jeder Nummer getrennt laufen zu lassen. Vielen Dank – Brandi

+0

sicher Ding, viel Glück damit – lovelace

1

läuft das ist, weil 1. ein gültiger Schwimmer (Zahl) ist, aussehen:

var_dump(1.); 

Ausgänge:

float(1) 

Nach einer Reihe gefolgt von einem Punkt erwartet die PHP-Engine eine weitere Nummer (n) (die Präzision, wenn es nicht das Ende der aktuellen Anweisung ist). Sie haben stattdessen eine Zeichenfolge geschrieben. Das ist ein ungültiges Sprachkonstrukt und führt zu unexpected (T_CONSTANT_ENCAPSED_STRING) Analysefehler.

Das nächste Mal nicht alles verketten, wenn Echo, verwenden , statt (die tatsächlich schneller ist):

for ($i = 10; $i >= 1; $i--) { 
    if ($i%2 >0) { 
     echo $i+1 , "<br />" ; 
    } else { 
     echo $i-1 , "<br />" ; 
    } 
} 
Verwandte Themen