本机 skip_if_condition()
Native skip_if_condition()
继续
continue is used within looping structures to skip the rest of the current loop iteration and continue execution at the condition evaluation and then the beginning of the next iteration (from: php.net).
最近了解到PHP的continue
结构。简而言之,对于那些还不知道的人:要中断 (foreach/while/for) 循环迭代,可以编写以下内容:
if($foo == 0){
continue;
}
(如果 $foo 为 0,循环将跳过当前迭代并继续下一次迭代。)
关于问题
对于那些(像我一样)刚刚获得尤里卡体验的人,对你有好处!但是,看到代码让我想到了这样的代码格式。您可能已经注意到,上面的语句占用了脚本的 3 行。当然,您可以将整个语句写在 1 行上,但这不会增加可读性。
现在,我将按照以下方式编写自己的 'native' 函数:
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;
So is there such a native function included in PHP? And if not, how come there isn't?
“为什么”总是一个狡猾的问题,但总的来说,我们可以问为什么编程语言包含像 continue
这样的语句而不是像 skip_if_more($foo, $bar)
这样的函数。想到一些想法:
- 灵活性:
continue
语句可以用于您能想到的任何条件;您需要一长串 skip_if...
函数来涵盖常见情况,并且如果 none 匹配,则仍然需要一些方法来提供自定义条件。
- 更容易定义:
continue
必须在 run-time 引擎中做一些普通函数调用不能做的特殊事情;任何 skip_if...
函数都必须作为特例包含在内。
- 更容易理解:看一眼代码,看到
continue
两个字,立马看出是要控制循环;瞥一眼对 skip_if_array_is_empty
的调用,您将不得不猜测这是一个 built-in 函数还是一个不相关的自定义函数。
- 更容易学习:您才刚刚发现
continue
;想象一下,如果您必须学习一打特定的 skip_if...
函数,然后再学习一打 return_if...
,等等...
继续
continue is used within looping structures to skip the rest of the current loop iteration and continue execution at the condition evaluation and then the beginning of the next iteration (from: php.net).
最近了解到PHP的continue
结构。简而言之,对于那些还不知道的人:要中断 (foreach/while/for) 循环迭代,可以编写以下内容:
if($foo == 0){
continue;
}
(如果 $foo 为 0,循环将跳过当前迭代并继续下一次迭代。)
关于问题
对于那些(像我一样)刚刚获得尤里卡体验的人,对你有好处!但是,看到代码让我想到了这样的代码格式。您可能已经注意到,上面的语句占用了脚本的 3 行。当然,您可以将整个语句写在 1 行上,但这不会增加可读性。
现在,我将按照以下方式编写自己的 'native' 函数:
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;
So is there such a native function included in PHP? And if not, how come there isn't?
“为什么”总是一个狡猾的问题,但总的来说,我们可以问为什么编程语言包含像 continue
这样的语句而不是像 skip_if_more($foo, $bar)
这样的函数。想到一些想法:
- 灵活性:
continue
语句可以用于您能想到的任何条件;您需要一长串skip_if...
函数来涵盖常见情况,并且如果 none 匹配,则仍然需要一些方法来提供自定义条件。 - 更容易定义:
continue
必须在 run-time 引擎中做一些普通函数调用不能做的特殊事情;任何skip_if...
函数都必须作为特例包含在内。 - 更容易理解:看一眼代码,看到
continue
两个字,立马看出是要控制循环;瞥一眼对skip_if_array_is_empty
的调用,您将不得不猜测这是一个 built-in 函数还是一个不相关的自定义函数。 - 更容易学习:您才刚刚发现
continue
;想象一下,如果您必须学习一打特定的skip_if...
函数,然后再学习一打return_if...
,等等...