ネストされたループを壊す [重複]。
2023-07-21 04:31:05
質問
ネストされたループで困っています。複数の投稿があり、各投稿には複数の画像があります。
すべての投稿から合計5枚の画像を取得したいのですが、ネストループを使って画像を取得しています。そこで、画像を取得するためにネストされたループを使用しており、数が5に達したときにループを解除したいのです。以下のコードは画像を返しますが、ループは解除されないようです。
foreach($query->posts as $post){
if ($images = get_children(array(
'post_parent' => $post->ID,
'post_type' => 'attachment',
'post_mime_type' => 'image'))
){
$i = 0;
foreach( $images as $image ) {
..
//break the loop?
if (++$i == 5) break;
}
}
}
どのように解決するのですか?
C/C++などの他の言語と異なり、PHPではbreakのオプションパラメータをこのように使用することができます。
break 2;
この場合、もしそのような2つのループがあった場合。
while(...) {
while(...) {
// do
// something
break 2; // skip both
}
}
break 2
は両方のwhileループをスキップします。
Doc: http://php.net/manual/en/control-structures.break.php
これにより、ネストされたループの上を飛ぶことが、例えば
goto
を使うよりも読みやすくなります。
関連
-
[解決済み】XAMPPエラー: www.example.com:443:0 サーバー証明書に、サーバー名と一致するIDが含まれていません。
-
[解決済み] 警告:mysqli_fetch_array()は、パラメータ1がmysqli_resultであることを期待する、オブジェクトはで指定された。
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] YouTube APIからYouTubeビデオのサムネイルを取得する方法を教えてください。
-
[解決済み] Javaでネストされたループから抜け出すには?
-
[解決済み] Bashでファイルの中身をループする
-
[解決済み] オブジェクトをメンバーとして、プレーンなJavaScriptオブジェクトをループさせる方法
-
[解決済み] forループを壊さずに配列をループして項目を削除する
-
[解決済み] JavaScriptでネストしたループから抜け出すには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Weird PHP error: 'Can't use function return value in write context'.
-
[解決済み】SQLSTATE[42000]: 構文エラーまたはアクセス違反が発生しました。1064 SQL 構文にエラーがあります - PHP - PDO [重複]。
-
[解決済み】「初期通信パケットの読み込み」でMySQLサーバーに接続できなくなり、システムエラーになる。0
-
[解決済み] SAJAXは死んだか?何を置き換えるべきか?
-
[解決済み】php, mysql - データベースへの接続数が多すぎるエラー
-
[解決済み】既に開始されているPHPセッション【重複あり
-
[解決済み] * vchiqインスタンスを開くのに失敗しました。
-
[解決済み】file_get_contents( )が動作しない。
-
MacでPHPを実行した際に、メモリサイズが134217728バイトも消費される問題の解決方法について
-
[解決済み] PHPで外側のループを解除するにはどうすればよいですか?