Bor*_*rov 1 php loops while-loop
我想在PHP中做这样的事情
function doSomething() { /* ... */ }
while(my_array[] = doSomething()) { }
Run Code Online (Sandbox Code Playgroud)
而不是使用额外的变量: while(myValue = doSomething()) { myArray[] = myValue; }
使用while block什么都不做好练习?如果不是 - 为什么?
从技术上讲,花括号用于对while正文内的多个语句进行分组.你甚至都不需要它们.例如,以下是完全有效的PHP代码:
while ($my_array[] = doSomething());
^
Run Code Online (Sandbox Code Playgroud)
如您所见,这使用分号代替终止while正文的语句(空的).演示
是的你可以.
$x = [];
while ($x[] = rand(0, 3)) { }
var_dump($x);
// array(4) {
// [0]=>
// int(4)
// [1]=>
// int(2)
// [2]=>
// int(2)
// [3]=>
// int(0)
// }
Run Code Online (Sandbox Code Playgroud)
但是,如果您重新评估您尝试解决的问题,您可能会发现不同的方法或构造可能会更好,并且不需要while为此目的减少构造.
| 归档时间: |
|
| 查看次数: |
238 次 |
| 最近记录: |