2017-02-10 3 views
0

Warum zeigt die Ausgabe (0 + 1) anstelle von 1 und die URL bei $ Kategorie abgeschnitten.PHP Ich habe keine Ahnung, warum diese mathematische Abfrage funktioniert nicht

Eine zweite Reihe von Augen würde sehr geschätzt werden!

+2

Da Sie es angeben, um es zu einem String-Literal zu machen, wird '$ i' interpoliert, weil Sie doppelte Anführungszeichen verwenden, aber der Rest (die Klammern, das Pluszeichen, die' 1') sind einfach Teil des Strings .... 'echo $ i +1;' ohne die Anführungszeichen wird den Ausdruck vor dem Echo des Ergebnisses –

+0

Danksagung bewerten. ich muss mehr studieren, weil ich nicht verstanden habe, wie man es von deinen Kommentaren repariert, obwohl nachdem ich es gelesen habe und die Beispiele sehe, verstehe ich es jetzt. –

Antwort

0

Setzen Sie den $i + 1 Ausdruck außerhalb der Anführungszeichen:

echo "<a href='/browsepage.php?category=$category&pagenumber=".($i + 1)."'>".($i + 1)."</a>"; 

(weil mathematische Ausdrücke in Anführungszeichen werden nicht ausgewertet werden, werden sie einfach als Text genommen)

+1

Sie vermissen jede Art von Erklärung (vor allem, da dies eine _why_ Frage ist). –

+0

danke Jungs! Ich bekomme es mit dem ersten Kommentar aber mit den oben gezeigten Beispielen verstehe ich jetzt. –

-1

Zuerst müssen Sie som Tippfehler in Ihrem Code. Zweitens sind einige Verkettungsprobleme beteiligt. Versuchen Sie diese stattdessen:

echo '<a href="/browsepage.php?category='.$category.'&pagenumber='. ($i+1) .'">'. ($i+1) .'</a>'; 

Das „Ergebnis zeigt (0 + 1) statt 1“, weil der Ausdruck von PHP nicht ausgewertet werden kann, bevor das Ergebnis Echo.

+1

danke! Ihre Beispiele waren klar. Ich verstehe jetzt! –

Verwandte Themen