Variable in Echo ausgabe einer If anweisung - richtige Schreibweise

klausi89

Erfahrenes Mitglied
Hallo ich habe da irgendwie ein Problem mit der Schreibweise .... ich möchte im echo Befehl einer If anweisung eine Variable ausgeben nur irgendwie hebt das Zeichen ?> innerhalb des echo
den PHP Code schon auf...wie kann man das denn umgehen.

PHP:
     <?php
         if($JumpTo == 'on'){
     echo '<nav id="nav"><a onclick="jumpTo()" href ="#" class="btnj"><?php echo $btnjumpTo; ?></a></nav>';
     }

     ?>

hinter echo $btnjumpTo; ?> wird PHP schon aufgehoben....wo liegt denn da mein Fehler !

Danke schonmal
 
Was auch möglich wäre:
PHP:
<?php
if($JumpTo == 'on') {
?>
<nav id="nav"><a onclick="jumpTo()" href ="#" class="btnj"><?php echo $btnjumpTo; ?></a></nav>
<?php
}
?>
 
Genau, das was du da machst nennt sich dann Verkettung. Diese findet mit dem Verkettungsoperator statt, bei PHP ist das einfach der Punkt.

Das funktioniert mit allen Strings und Daten, welche sich zu Strings konvertieren lassen wie zum Beispiel Zahlen.
PHP:
$partOne = "Hello ";
$partTwo = "World!";

$text = $partOne . $partTwo;

print $text;  // Hello World!

$numberOne = 5;
$numberTwo = 3;

$calculation = $numberOne . " + " . $numberTwo;
$result = $numberOne + $numberTwo;

print $calculation . " = " . $result; // 5 + 3 = 8
Wenn du mit doppelten Anführungszeichen arbeitest, kannst du String-Variablen aber auch einfach so einfügen:
PHP:
print "$numberOne + $numberTwo = $result"; // 5 + 3 = 8
Falls du Rechenoperationen in Verkettung nutzen willst, brauchst du häufig Klammern:
PHP:
print "$numberOne + $numberTwo = " . $numberOne + $numberTwo; // 8
print "$numberOne + $numberTwo = " . ($numberOne + $numberTwo); // 5 + 3 = 8
Das sind fürs Erste die Wichtigsten Regeln.
 
Zurück