質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Blade

Bladeとは、 PHPフレームワークのLaravelで使用することができるテンプレートエンジンです。テンプレートの継承とエスケープ機能を提供します。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

3回答

395閲覧

Laravel5.5にて配列に入っているある法則に則ったキーだけを取得したい

medroid

総合スコア17

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Blade

Bladeとは、 PHPフレームワークのLaravelで使用することができるテンプレートエンジンです。テンプレートの継承とエスケープ機能を提供します。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/12/13 09:38

前提・実現したいこと

連想配列に入っている中身を以下の法則に則って表示させたいです。

例として以下、連想配列に入っている値だとします。

[1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'e', 6 => 'f', 7 => 'g', 8 => 'h', 9 => 'i', 10 => 'j', ., ., ..............省略]

[1 => 'a', 2 => 'b', 3 => 'c', 9 => 'i', 10 => 'j', 11 => 'k', 17 => 'aa', 18 => 'bb', 19 => 'cc']

3つ表示させて5つスキップしてまた3つ表示させる法則性になります。

該当のソースコード

blade

1<section class="#"> 2 <h2 class="#">Apps</h2> 3 <div class="#"> 4 @foreach ($xApps->forPage(1, 3) as $index => $xApp) 5 6 @include('/ppp/iii/detail_ui_x/_app', [ 7 'app' => $x->app, 8 'appPattern' => $xApp->app->patterns[0] 9 ]) 10 @endforeach 11 </div> 12 </section>

試したこと

まず@foreach内でforPage()ヘルパ関数を利用して1つ目から3つ目のキーを表示させるようにするように試してみてそれは良いのですが5つスキップしてまた3つ表示させるやり方を見つけられない状況です。
上記を見て解決方法が分かる方が居ましたらご教示お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

自己解決

回答頂いた方、ありがとうございます。
以下、取り出したい配列キーと条件を指定してあげることで表現したいことが実現出来ました。

blade

1@foreach ($xApps->chunk(3) as $index => $xApp) 2 @if($index == 0 || $index % 5 == 0) 3 @foreach (#xApp as $chunkXapp) 4 @include('/ppp/iii/detail_ui_x/_app', [ 5 'app' => $x->app, 6 'appPattern' => $xApp->app->patterns[0] 7 ]) 8 @endforeach 9 @endif 10@endforeach

以上、自己解決したので質問をクローズさせて頂きます。

投稿2018/12/17 03:58

medroid

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

一応、コレクションについて解説されているサイトを貼っておきます。
https://readouble.com/laravel/5.5/ja/collections.html

コレクションはlaravelに限った事では無いですし、あんな処理もこんな簡単なメソッドで提供してくれているんだ...と、探していて楽しくなってきますよ。

投稿2018/12/15 14:44

wonda

総合スコア69

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

medroid

2018/12/17 01:38

回答ありがとうございます。 コレクションについて解説されているサイトは一通り参照したのですが打開策を見出だせずです......。 引き続きもう少し考えてみます。
guest

0

ちょっと試していませんが、スキップするINDEX配列などがあれば以下のようにcontinueディレクティブで対応出来そうなものですが...どうでしょうか

blade

1 @foreach ($xApps as $index => $xApp) 2 @continue (in_array($index, $skips, true))// 第3引数は厳密比較 3 4 @include('/ppp/iii/detail_ui_x/_app', [ 5 'app' => $x->app, 6 'appPattern' => $xApp->app->patterns[0] 7 ]) 8 @endforeach

投稿2018/12/15 14:28

wonda

総合スコア69

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

medroid

2018/12/17 01:56

回答ありがとうございます。 continueディレクティブは私も考えてみましたがスキップした後に再度、指定した配列のn番目を表示させるにはどのような処理にすれば良いか分かっておらずです......。 因みにin_array()の第二引数に$skipsとありますがこちらどのような値を想定されていますでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問