---
title: "PHPで配列の最後の値の時だけ別の処理を行う方法"
canonical_url: "https://olein-design.com/blog/only-do-something-else-with-the-last-value-of-an-array-in-php"
language: "ja"
date_published: "2021-10-06T11:55:16+09:00"
date_modified: "2021-10-06T11:55:16+09:00"
content_type: "post"
author: "久野晃司"
taxonomies:
  category:
    - "WordPress"
  post_tag:
    - "php"
    - "配列"
---

# 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
```

となります。

## まとめ

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