【PHP】配列の最後の値を取得する書き方

この記事は約2分で読めます。

他の言語では配列の最後の値を取得するための関数があるのですが、PHPは割と特殊なものがありましたので、まとめました。

スポンサーリンク

配列の長さを使ってインデックス指定する

count()関数を使い配列の長さを取得します。その後、-1してインデックスから値を取得します。

$length = count($items);
$value = $items[$length - 1];

1行で書くとこうなります。

$value = $items[count($items) - 1];
スポンサーリンク

配列の最後のキーを取得して値を取り出す(PHP7.3.0~)

array_key_last()関数を使い配列の最後のキーを取得します。ただし、PHP7.3.0から使えるようになった関数なので、対応していない場合があります。その場合は他の取得の仕方を使ってください。

$key = array_key_last($items);
$value = items[$key];

1行で書くとこうなります。

$value = $items[array_key_last($items)];
スポンサーリンク

end()関数を使う(内部ポインタを利用するため注意が必要)

end()関数を使います。 end()関数は内部ポインタを最後の要素へセットする関数ですが、戻り値に最後の要素の値を返します。空の配列の場合は false を返します。

ポインタは人間には優しくないため、関わらない方が良いかもしれません。意味を分からず使用しているとバグを生む可能性大です。

$value = end($items);

もう少し直感的にポインタを使わない取得の仕方があると良かったのにと思います。

プログラミング
スポンサーリンク
この記事を書いた人
サイト運営者
Ryu

10年以上システムエンジニアをしてます。面倒なことが嫌いな性格です。
コメントは切ってますので、何かありましたらSNSもしくはお問い合わせフォームからお願いします!

Ryuをフォローする
スポンサーリンク
ヒシキリュウドットコム