私はPHPでこのようなことを考えていました
function doSomething() { /* ... */ }
while(my_array[] = doSomething()) { }
追加の変数を使用する代わりに:while(myValue = doSomething()) { myArray[] = myValue; }
while ブロックを使用して何もしないのは良い習慣ですか? そうでない場合-なぜですか?
私はPHPでこのようなことを考えていました
function doSomething() { /* ... */ }
while(my_array[] = doSomething()) { }
追加の変数を使用する代わりに:while(myValue = doSomething()) { myArray[] = myValue; }
while ブロックを使用して何もしないのは良い習慣ですか? そうでない場合-なぜですか?
技術的には、中括弧はwhile
本文内の複数のステートメントをグループ化するために使用されます。あなたもそれらを必要としません。たとえば、以下は完全に有効な PHP コードです。
while ($my_array[] = doSomething());
^
ご覧のとおり、これは代わりにセミコロンを使用して、while
本体のステートメント (空のステートメント) を終了します。デモ
はい、できます。
$x = [];
while ($x[] = rand(0, 3)) { }
var_dump($x);
// array(4) {
// [0]=>
// int(4)
// [1]=>
// int(2)
// [2]=>
// int(2)
// [3]=>
// int(0)
// }
ただし、解決しようとしている問題を再評価すると、別のアプローチまたは構造の方が優れていることがわかり、while
この目的のために構造を縮小する必要がないことに気付く場合があります。