PHPのforeach文の繰り返し処理で取得した要素の1つ先の要素(次の要素)を取得し、現在要素と比較する方法をご紹介します。
ディスプレイ広告
配列データを用意
※foreachで使用する以下の配列データを用意します。
$valus = [ 0 => [ "name" => "太郎", "sex" => "man", "age" => 30, "email" => "a0@dad-union.com" ], 1 => [ "name" => "一郎", "sex" => "man", "age" => 31, "email" => "b1@dad-union.com" ], 2 => [ "name" => "次子", "sex" => "woman", "age" => 22, "email" => "c2@dad-union.com" ] ];
foreachで現在要素と1つ先の要素を比較(素のPHP)
※foreachで現在要素と1つ先の要素を比較し、比較内容によってメッセージを出力します。
<?php foreach ($valus as $key => $valu) { if ($valus[$key]['age'] > $valus[$key + 1]['age']) { echo $valus[$key]['name']."は".$valus[$key + 1]['name']."より年上です。"; } } ?>
foreachで現在要素と1つ先の要素を比較(LaravelのBladeファイルに記述)
※LaravelのBladeファイルにforeach文を使った際は以下の様に記述しました。(素のPHP)の内容をBladeファイルに記述しても問題無いと思います。
@foreach ($valus as $key => $valu) { <?php if($valus[$key]->age > $valus[$key + 1]->age){ echo $valus[$key]->name."は".$valus[$key + 1]->name."より年上です。"; } ?> @endforeach
※流用される場合は自己責任でお願いします。