Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果表现不正常,则用速记回音_Php_Shorthand If - Fatal编程技术网

Php 如果表现不正常,则用速记回音

Php 如果表现不正常,则用速记回音,php,shorthand-if,Php,Shorthand If,我用PHP编程,我使用“速记if”将一些HTML代码回送到页面上,但它的行为方式很奇怪 echo '<div id="filter_bar"> <ul>'; echo '<li><a href="?select=trending"' . ($_GET['select'] == "trending") ? ' class="filter_selected">Trending</a></li>' : '>Trend

我用PHP编程,我使用“速记if”将一些HTML代码回送到页面上,但它的行为方式很奇怪

echo '<div id="filter_bar">
<ul>';
    echo '<li><a href="?select=trending"' . ($_GET['select'] == "trending") ? ' class="filter_selected">Trending</a></li>' : '>Trending</a></li>';
    echo '<li><a href="?select=most_picked"' . ($_GET['select'] == "most_picked") ? ' class="filter_selected">Most Picked</a></li>' : '>Most Picked</a></li>';
    echo '<li><a href="?select=newest"' . ($_GET['select'] == "newest" || empty($_GET['select'])) ? ' class="filter_selected">Newest</a></li>' : '>Newest</a></li>';
echo '</ul></div>';
echo'
    ”; 回音“
  • ”:“>趋势”; 回音“
  • ”:“>挑选最多的”; 回音“
  • ”:“>最新的”; 回声“
”;
我得到的结果代码如下

class="filter_selected">Trending</a></li> class="filter_selected">Most Picked</a></li> class="filter_selected">Newest</a></li>
class=“filter\u selected”>趋势分析
如您所见,开始列表标记未显示。。。但如果我将每行上的第一个句号“.”替换为“,”逗号,它们就会这样做

这是可行的,用逗号


我应该在这里用逗号吗?Everywhere online要求显示句号“.”。

一种可能的解决方案是

    echo "<li><a href='?select=newest'"; 
echo ($_GET['select'] == "newest" || empty($_GET['select'])) ? ' class="filter_selected">Newest</a></li>' : '>Newest</a></li>';
echo“
  • ”:“>最新的
  • ”;
  • 一种可能的解决方案是

        echo "<li><a href='?select=newest'"; 
    echo ($_GET['select'] == "newest" || empty($_GET['select'])) ? ' class="filter_selected">Newest</a></li>' : '>Newest</a></li>';
    
    echo“
  • ”:“>最新的
  • ”;
  • 将括号更改为以下内容:

    echo '<div id="filter_bar">
    <ul>';
        echo '<li><a href="?select=trending"' . ($_GET['select'] == "trending" ? ' class="filter_selected">Trending</a></li>' : '>Trending</a></li>');
        echo '<li><a href="?select=most_picked"' . ($_GET['select'] == "most_picked" ? ' class="filter_selected">Most Picked</a></li>' : '>Most Picked</a></li>');
        echo '<li><a href="?select=newest"' . (($_GET['select'] == "newest" || empty($_GET['select'])) ? ' class="filter_selected">Newest</a></li>' : '>Newest</a></li>');
    echo '</ul></div>';
    
    echo'
    
      ”; 回音“
    • ”:“>趋势””; 回音“
    • ”:“>挑选最多的””; 回音“
    • ”:“>最新的””; 回声“
    ”;
    如果不这样做,PHP就不知道您的具体情况。还可以看看,这解释了为什么它使用逗号


    顺便说一下:调用?:将括号更改为以下内容:

    echo '<div id="filter_bar">
    <ul>';
        echo '<li><a href="?select=trending"' . ($_GET['select'] == "trending" ? ' class="filter_selected">Trending</a></li>' : '>Trending</a></li>');
        echo '<li><a href="?select=most_picked"' . ($_GET['select'] == "most_picked" ? ' class="filter_selected">Most Picked</a></li>' : '>Most Picked</a></li>');
        echo '<li><a href="?select=newest"' . (($_GET['select'] == "newest" || empty($_GET['select'])) ? ' class="filter_selected">Newest</a></li>' : '>Newest</a></li>');
    echo '</ul></div>';
    
    echo'
    
      ”; 回音“
    • ”:“>趋势””; 回音“
    • ”:“>挑选最多的””; 回音“
    • ”:“>最新的””; 回声“
    ”;
    如果不这样做,PHP就不知道您的具体情况。还可以看看,这解释了为什么它使用逗号


    顺便说一句:?:被称为。

    也许你可以让你的生活更轻松一点:

    echo '<div id="filter_bar"><ul>',
        '<li><a href="?select=trending"', $_GET['select'] == "trending" ? ' class="filter_selected">' : '>', 'Trending</a></li>',
        '<li><a href="?select=most_picked"', $_GET['select'] == "most_picked" ? ' class="filter_selected">' : '>', 'Most Picked</a></li>',
        '<li><a href="?select=newest"', ($_GET['select'] == "newest") || empty($_GET['select']) ? ' class="filter_selected">' : '>', 'Newest</a></li>',
    '</ul></div>';
    

    也许你可以让你的生活更轻松一点:

    echo '<div id="filter_bar"><ul>',
        '<li><a href="?select=trending"', $_GET['select'] == "trending" ? ' class="filter_selected">' : '>', 'Trending</a></li>',
        '<li><a href="?select=most_picked"', $_GET['select'] == "most_picked" ? ' class="filter_selected">' : '>', 'Most Picked</a></li>',
        '<li><a href="?select=newest"', ($_GET['select'] == "newest") || empty($_GET['select']) ? ' class="filter_selected">' : '>', 'Newest</a></li>',
    '</ul></div>';
    
    原因是:

    echo'
  • '。“是吗?”aaa’:‘bbb’将为您提供aaa

    因为它与
  • 1”相同aaa':“bbb”
  • 你应该这样做:
    echo'
  • '。(对?'aaa':'bbb')

    原因是:

    echo'
  • '。“是吗?”aaa’:‘bbb’将为您提供aaa

    因为它与
  • 1”相同aaa':“bbb”
  • 你应该这样做:
    echo'
  • '。(对?'aaa':'bbb')

    不知道你有什么问题,但这段代码对我来说太糟糕了。 我会这样做:

    在PHP代码中,我首先准备变量

    $sections = array(
      'newest'      => 'Newest',
      'trending'    => 'Trending',
      'most_picked' => 'Most Picked',
    );
    if (empty($_GET['select']) OR !$choice = array_search($sections,$_GET['select'])) {
      $choice = 'newest';
    }
    
    然后在模板中运行平滑和短循环:

    <div id="filter_bar">
     <ul>
    <? foreach ($sections as $sect => $name): ?>
      <li>
    <a href="?select=<?=$sect?><? if ($choice == $sect) ?>" class="filter_selected"<? endif ?>><?=$name?></a>
      </li>
    <? endforeach ?>
     </ul>
    </div>
    
    
    

    不知道你有什么问题,但这段代码对我来说太糟糕了。 我会这样做:

    在PHP代码中,我首先准备变量

    $sections = array(
      'newest'      => 'Newest',
      'trending'    => 'Trending',
      'most_picked' => 'Most Picked',
    );
    if (empty($_GET['select']) OR !$choice = array_search($sections,$_GET['select'])) {
      $choice = 'newest';
    }
    
    然后在模板中运行平滑和短循环:

    <div id="filter_bar">
     <ul>
    <? foreach ($sections as $sect => $name): ?>
      <li>
    <a href="?select=<?=$sect?><? if ($choice == $sect) ?>" class="filter_selected"<? endif ?>><?=$name?></a>
      </li>
    <? endforeach ?>
     </ul>
    </div>
    
    
    

    您不应该依赖于short\u open\u标记,因为这可能会被禁用。呃,只需启用它即可。没什么大不了的。只是不要用它,没什么大不了的。但是我喜欢它,短标记看起来很整洁,而且需要的输入量要少得多。你不应该依赖短标记,因为它可能会被禁用。呃,启用它就行了。没什么大不了的。只是不要用它,没什么大不了的。但是我喜欢它,短标签看起来很整洁,而且不需要太多的打字。谢谢你的建议,请问在这种情况下逗号和句点有什么区别?我通常会使用句点,例如:
    ”$阶级趋势。”在上面发布的代码中。有什么区别吗?使用
    是在输出之前连接字符串。使用逗号只是一个接一个地输出字符串(这符合您的需要)。严格来说,在使用echo进行输出之前,不需要连接字符串(但可以这样做)。使用
    s的另一个好处是,您可以在
    echo
    语句中使用函数,这些函数可以返回字符串,也可以自己回显(这里不是这种情况,仅供参考),因此它可以帮助简化自己的代码。感谢您的建议,请问在这种情况下逗号和句点之间有什么区别?我通常会使用句点,例如:
    ”$阶级趋势。”在上面发布的代码中。有什么区别吗?使用
    是在输出之前连接字符串。使用逗号只是一个接一个地输出字符串(这符合您的需要)。严格来说,在使用echo进行输出之前,不需要连接字符串(但可以这样做)。使用
    s的另一个好处是,您可以在
    echo
    语句中使用函数,这些函数可以返回字符串,也可以自己回显(这里不是这种情况,仅供参考),因此它可以帮助简化自己的代码。