变量中的PHP if/else


PHP if/else in Variable?

嗨,在一个变量中有一些代码,在Ben Rowe的帮助下,我意识到我需要连接字符串,现在我似乎无法解决以下问题。。。在变量中包含if和else。我有下面的代码,IF/ELSE不起作用,如果有人能帮忙,我将不胜感激。

 <?php if (!$logged) { ?>
<div id="payment-address">
  <div class="checkout-heading"><span>'.$text_checkout_account.'</span></div>
  <div class="checkout-content"></div>
</div>
<?php } else { ?>
<div id="payment-address">
  <div class="checkout-heading"><span>'.$text_checkout_payment_address.'</span></div>
  <div class="checkout-content"></div>
</div>
<?php } ?>
<?php if ($shipping_required) { ?>
<div id="shipping-address">
  <div class="checkout-heading">'.$text_checkout_shipping_address.'</div>
  <div class="checkout-content"></div>
</div>
<div id="shipping-method">
  <div class="checkout-heading">'.$text_checkout_shipping_method.'</div>
  <div class="checkout-content"></div>
</div>
<?php } ?>
<div id="payment-method">
  <div class="checkout-heading">'.$text_checkout_payment_method.'</div>
  <div class="checkout-content"></div>
</div>
<div id="confirm">
  <div class="checkout-heading">'.$text_checkout_confirm.'</div>
  <div class="checkout-content"></div>
</div>

我尝试剥离PHP标记,但没有效果,我还尝试在下面的代码之前关闭PHP,然后再次打开它,但仍然没有结果:(

这样使用它-

<div class="checkout-heading"><span><?php echo $text_checkout_account ?></span></div>

或html+php-

<?php
echo  '<div class="checkout-heading"><span>'.$text_checkout_account.'</span></div>';

您不能在标记之外使用php变量。如果您需要一个变量,您必须使用php标记,并回显该值。这样做:

<?php if (!$logged) { ?>
    <div id="payment-address">
    <div class="checkout-heading"><span><?php echo $text_checkout_account ?></span></div>
    <div class="checkout-content"></div>
    </div>
<?php } else { ?>
    <div id="payment-address">
    <div class="checkout-heading"><span><?php echo $text_checkout_payment_address ?></span></div>
    <div class="checkout-content"></div>
    </div>
<?php } ?>

如果你想把PHP变量的内容放在HTML中,你必须使用:

<div class="checkout-heading"><span><?php echo $text_checkout_account; ?></span></div>

你也可以用以短的方式完成

<div class="checkout-heading"><span><?=$text_checkout_account; ?></span></div>

重要提示:第二个示例需要激活短标签。由于PHP 5.4.0,它在默认情况下可用。

参考:http://www.php.net/manual/en/ini.core.php#ini.short-open-tag

在HTML 中这样做

<div id="payment-address">
  <div class="checkout-heading">
    <span>
      <?php echo $logged ? $text_checkout_payment_address : $text_checkout_account?>
    </span>
  </div>
  <div class="checkout-content"></div>
</div>

如果您对echo感到困惑,请阅读三元运算符

您可以尝试三元运算符,如下所示:

<div id="payment-address">
   <div class="checkout-heading"><span><? echo ($logged?$text_checkout_payment_address:$text_checkout_account); ?></span></div>
   <div class="checkout-content"></div>
</div>