【问题标题】:How to optimize if-statemnts php?如何优化 if 语句 php?
【发布时间】:2015-07-27 19:02:32
【问题描述】:

如何优化PHP?? 我想用 PHP 中的 if 语句优化这段代码。

$head =  make_number($_GET['id']);
if(isset($head)){
    echo $head;
}
else {
    $head =  make_number($_GET['id']);
    if(isset($head)){
        echo $head;
    }
    else {
        $head =  make_number($_GET['url']);
        if(isset($head)){
            echo $head;
        }
    }
}

【问题讨论】:

  • 那是 php,而不是 javascript...至于优化,为什么要在 id 上两次 make_number? “嗯,砍了我的手,没用,我再砍一次”。
  • 另外,这段代码运行缓慢吗?您是否有任何证据表明这实际上导致了瓶颈。除非你知道是什么让你的代码变慢了,否则优化通常是低效的

标签: php if-statement optimization


【解决方案1】:

试试这个

$head1 = make_number($_GET['id']);
$head2 = make_number($_GET['url']);

if(isset($head1) && isset($head2)){
    echo $head;
}

【讨论】:

  • 我加了 100 $head is overload 。我需要 1 个结果 ==> 请求 100 $head ==> 过载。
【解决方案2】:

这样做

$headID = make_number($_GET['id']);
$headURL = make_number($_GET['url']);

if(isset($headID))
    echo $headID;
else {
    if(isset($headURL))
        echo $headURL;
}

【讨论】:

    【解决方案3】:

    这是我的 2 美分:

    if(isset($_GET['id'])){
          echo make_number($_GET['id']);
     }
    elseif(isset($_GET['url'])){
          echo make_number($_GET['url']);
     }
     // if none of them is set
    else{
    
          echo 'Nothing to echo';
    }
    

    希望对你有帮助

    【讨论】:

      【解决方案4】:

      您可以在 PHP 新功能中使用空值合并运算符:

      $head = make_number($_GET['id']) ?? 
              make_number($_GET['url']) ?? 
              make_number($_GET['xyz']);
      

      或者,如果您不能使用 php 7 功能 - 使用短路 OR:

      $head = make_number($_GET['id']) or 
      $head = make_number($_GET['url']) or 
      $head = make_number($_GET['xyz']);
      

      【讨论】:

        猜你喜欢
        • 2011-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-01
        • 2010-09-07
        • 2013-09-17
        相关资源
        最近更新 更多