Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 本机跳过\u if\u条件() 继续_Php_Loops_Foreach_While Loop_Continue - Fatal编程技术网

Php 本机跳过\u if\u条件() 继续

Php 本机跳过\u if\u条件() 继续,php,loops,foreach,while-loop,continue,Php,Loops,Foreach,While Loop,Continue,continue在循环结构中用于跳过当前循环迭代的其余部分,并在条件评估时继续执行,然后开始下一个迭代 我最近了解了PHP的continue结构。简而言之,对于那些尚未意识到的人:要中断(foreach/while/for)循环迭代,可以编写以下代码: if($foo == 0){ continue; } (如果$foo为0,循环将跳过当前迭代并继续下一个迭代。) 关于这个问题 对于那些(像我一样)刚刚有过尤里卡体验的人来说,这对你有好处!然而,看到这些代码让我想到了这样的代码格式。您

continue在循环结构中用于跳过当前循环迭代的其余部分,并在条件评估时继续执行,然后开始下一个迭代

我最近了解了PHP的
continue
结构。简而言之,对于那些尚未意识到的人:要中断(foreach/while/for)循环迭代,可以编写以下代码:

if($foo == 0){
    continue;
}
(如果$foo为0,循环将跳过当前迭代并继续下一个迭代。)

关于这个问题 对于那些(像我一样)刚刚有过尤里卡体验的人来说,这对你有好处!然而,看到这些代码让我想到了这样的代码格式。您可能已经注意到,上面的语句占用了脚本的3行。当然,你可以把整个语句写在一行上,但这不会增加多少可读性

现在,我将编写自己的“本机”函数,大致如下:

skip_if_null( (int) $foo = null);
skip_if_more( (int) $foo, (int) $bar = 0);
skip_if_less( (int) $foo, (int) $bar = 0);
但是我宁愿使用一个本地PHP方法来实现同样的结果,在一个语句中


那么PHP中是否包含此类本机函数?如果没有,为什么没有呢?

正如你所说,语句可以放在一行;您也可以省去大括号,让它看起来更像一句话:

if ( $foo == 0 ) continue;
那么PHP中是否包含这样一个本机函数呢?如果没有,为什么没有呢

“为什么”总是一个棘手的问题,但一般来说,我们可以问为什么编程语言包含像
continue
这样的语句,而不是像
skip\u if\u more($foo,$bar)
这样的函数。我想到了一些想法:

  • 灵活性:一个
    continue
    语句可以用于您可以想象的任何条件;您需要一长串
    skip_if…
    函数来覆盖常见情况,如果它们都不匹配,还需要一些方法来提供自定义条件
  • 更容易定义:
    continue
    必须在运行时引擎中执行普通函数调用无法执行的特殊操作;任何
    跳过\u如果…
    函数必须作为特例包含在内
  • 更容易理解:浏览代码并看到单词
    continue
    ,您可以立即看到它将控制循环;如果_array_为空,只要看一下对
    skip_的调用,您就必须猜测这是一个内置函数还是一个无关的自定义函数
  • 更易于学习:您刚刚发现
    continue
    ;想象一下,如果您必须学习十几个特定的
    跳过\u if…
    函数,以及十几个
    返回\u if…
    ,等等

以上陈述占据了3个部分,你的观点是?除非你的代码中包含了很多这样的内容(这可能表明存在结构问题),否则为了清晰起见,忍受这些内容并没有那么重要。“如果没有,为什么没有?”-为什么会有?这感觉有点像如果你问,“我们都知道2加2的结果是4,对吗?那么为什么没有函数
result\u of_2; u plus_2()
,返回值
4
?”——因为这太过具体了,以至于毫无意义。@NigelRen我理解你的困惑,我应该澄清一下:由于我的重点是编写清晰可读的代码,我希望PHP社区(因此,PHP7.x)能够解决这一功能上的差距。除此之外,你可能会发现“没有那么重要”的东西实际上可能处于不同的情况。为了让自己为将来的这种场合做好准备,我想知道更多。我希望PHP社区。。。要解决功能上的这个差距,也许可以换一种方式来看待它——如果没有其他人提出这个问题,那么这个差距可能没有你想象的那么大!有一件事是,挑战事物并尝试更好地理解已经存在的事物是很好的。这就像编写自己的框架,它有助于理解其他框架解决的一些问题,以及为什么有些事情是这样做的。很好的解释。您消除了编写自定义函数的需要,并且深入了解了为什么不存在这样的本机函数。谢谢