Php эхо внутри, если

#php

Вопрос:

Есть функция, я печатаю ее с помощью echo, Можно ли написать условие в echo

Следуя моему коду: PHP

 $cart_count = WC()->cart->cart_contents_count; // Set variable for cart item count
$cart_url = wc_get_cart_url();  // Set Cart URL
echo '
    <div class="shopping-icons">
    <i class="fas fa-shopping-cart"></i>
    <a href='.$cart_url.' ><span class="shopping-text">amp;nbsp;Sepetim</span></a>
       if ( '.$cart_count > 0 .')  { 
    <span class="cart-count-container">
    <span class="cart-count">'. $cart_count.'</span>
    </span>
     } 
    </div>
    ';
 

Комментарии:

1. Нет, тебе нужно уйти от эхо. Но вы можете объединить это так: echo 'hello ', ($name ?: 'world'), '!';

2. Я не до конца понял комбинацию, которую вы сказали, не могли бы вы, пожалуйста, адаптировать ее к моему коду?

3. @Ferhat означает использование тернарного оператора. Что-то вроде echo '<div>' . (($cart_count > 0) ? '<span></span>' : '') . '</div>';

4. да код сработал спасибо за внимание

Ответ №1:

Я имею в виду… ты мог бы сделать то же, что и я, и просто разделить эхо…? lmao.

Не уверен, правильно ли это делать или что, но я делал это так целую вечность, и это помогает в простом обслуживании, плюс его легко организовать с помощью вкладок/пробелов. Старайтесь не слишком сильно ударяться в лицо.. 🙂

PS: Всегда старайтесь использовать двойные кавычки, потому что так проще вводить переменные. С двойными кавычками вы можете просто поместить переменную со знаком$. Вы не можете сделать это с одинарными кавычками, вам придется использовать конкатенацию (как вы это сделали). Тем, кого ты знаешь.


 echo "<div class='shopping-icons'>";
    echo "<i class='fas fa-shopping-cart'></i>";
    echo "<a href='$cart_url'><span class='shopping-text'>amp;nbsp;Sepetim</span></a>";
    if($cart_count > 0){ 
        echo "<span class='cart-count-container'>";
            echo "<span class='cart-count'>$cart_count</span>";
        echo "</span>";
    }
echo "</div>";
 

Комментарии:

1. Без проблем. Троичный способ также работает, но он допускает любой тип операций. Вы все равно должны изучить тернарные и нулевые методы коалесценции, они очень полезны для записи меньшей информации.