Php 变量内的If语句

Php 变量内的If语句,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我试图将以下内容放入一个php变量中 我不知道我做错了什么: $cartlink='<a class="cart-contents" href="'.$shoppingcart.'" title="View your shopping cart">' + if ( $count > 0 ) {<span class="cart-contents-count">"'.$count.'"</span></a>} + '</a>';

我试图将以下内容放入一个php变量中

我不知道我做错了什么:

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

您的字符串concat有点不正确,PHP使用dots
将变量连接在一起,而不是像JavaScript那样使用dots
+

有几种方法可以通过三元运算符实现这一点

$cartlink = '<a class="cart-contents" href="'.$shoppingcart.'" title="View your shopping cart">'.($count > 0 ? '<span class="cart-contents-count">"'.$count.'"</span></a>' : "").'</a>';
$cartlink='':'';
或通过正常if进行字符串浓缩

$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>';
$cartlink='';
$cartlink.='';

您不能使用这样的if语句。改为使用内联版本:
(条件?true\u case:false\u case)

您可以将变量直接写入引号中
echo“值:$variable”

$cartlink=“:”);

编辑:在php中,整个三元运算符必须用括号括起来才能正常工作

可能的重复项您在php中是否有经验:|@Andrew不,他没有
$cartlink="<a class='cart-contents' href='$shoppingcart' title='View your shopping cart'>" . ( $count > 0 ? "<span class='cart-contents-count'>$count</span></a>" : "" ) . '</a>';