PHPで配列の最後の値の時だけ別の処理を行う方法

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

となります。

まとめ

このように、最後の配列値の時だけ処理を変更したいという場合も、珍しくない頻度で遭遇するかもしれないので、ぜひこちらの方法もお試しいただければと思います。

WordPress 6.5.x 対応版を出版しました

WordPress デフォルトテーマ Twenty Twenty-Four を使って、シンプルなブログやポートフォリオサイト、そしてコーポレートサイトを作りながら、ブロックテーマやサイトエディターの基本を理解することができます。