PHPだけでなく、配列に入っている情報を出力する際に、最後だけそれまでとは違った処理(出力)をしたいという場面は少なくないのではないでしょうか?
ここでは、簡単に配列の最後の値の時だけ、処理(出力)を変える方法をご紹介しようと思います。
end() で条件分岐をする
結論になってしまうのですが、end()
という関数を利用して、現在配列の最後の値なのかどうかを判断することができます。
例えば、このような配列があったとします。
$test_array = [ "apple", "orange", "grape" ];
こちらの配列を利用して、
$array_end = end( $text_array );
とすると、$array_end
には何が入っているでしょうか?
答えは grape
です。
配列の最後の値の時だけ出力や処理を変える方法
では、上で説明した内容を踏まえて、配列の中身を全て出力させるのですが、最後に ,
は出力させないようにしたいと思います。
$test_array = [ "apple", "orange", "grape" ];
$array_end = end( $test_array );
foreach ( $test_array as $item ) {
if ( $item === $array_end ) {
echo $item;
} else {
echo $item . ', ';
}
}
こうすることで、出力は
apple, orange, grape
となります。
まとめ
このように、最後の配列値の時だけ処理を変更したいという場合も、珍しくない頻度で遭遇するかもしれないので、ぜひこちらの方法もお試しいただければと思います。