2017-03-09 9 views
0

Ich versuche, das Folgende in eine PHP-Variable zu setzen.If Anweisung innerhalb der Variablen

Ich weiß nicht, was im falsch hier tun:

$cartlink='<a class="cart-contents" href="'.$shoppingcart.'" title="View your shopping cart">' + if ($count > 0) {<span class="cart-contents-count">"'.$count.'"</span></a>} + '</a>'; 
+0

Mögliche Duplikat [PHP arbeiten , Kurzform, Wenn..Else mit ternären Operatoren] (http://stackoverflow.com/questions/29814065/php-shorthand-if-else-using-ternary-operators) – ShiraNai7

+1

haben Sie in php: | – Andrew

+2

@ Andrew Nein, er ist nicht –

Antwort

0

Ihre Zeichenfolge Concat ein bisschen ausgeschaltet ist, und PHP verwendet Punkte . Variablen verketten zusammen, nicht + wie JavaScript.

Es gibt ein paar Möglichkeiten, dies zu erreichen, könnte über einen ternären Operator

$cartlink = '<a class="cart-contents" href="'.$shoppingcart.'" title="View your shopping cart">'.($count > 0 ? '<span class="cart-contents-count">"'.$count.'"</span></a>' : "").'</a>'; 

Oder Zeichenfolge Verketten über eine normale, wenn

$cartlink = '<a class="cart-contents" href="'.$shoppingcart.'" title="View your shopping cart">'; 
if ($count > 0) 
    $cartlink .= '<span class="cart-contents-count">"'.$count.'"</span></a>'; 
$cartlink .= '</a>'; 
0

Sie nicht if-Anweisung so verwenden können. Stattdessen verwenden Inline-Version: (condition ? true_case : false_case)

Sie können Variablen schreiben direkt in Anführungszeichen echo "Value: $variable";

$cartlink="<a class='cart-contents' href='$shoppingcart' title='View your shopping cart'>" . ($count > 0 ? "<span class='cart-contents-count'>$count</span></a>" : "") . '</a>'; 

edit: in PHP ganze ternäre Operator wurden von Klammern umgeben ist richtig

Verwandte Themen