PHPで配列の最後の要素を取得する方法を解説!
PHPで配列の最後の要素を取得する方法についてご紹介します。簡単にPHPの配列についても考えながら最後の要素を取得する方法について解説していきます。
PHPの配列って?
通常プログラム言語の配列は キーが数値である添字配列と、キーを文字列とする連想配列の2種類があります。
PHPでは添字配列と連想配列の間に違いはなく、同じ配列で整数のインデックスと文字列のインデックスを同時に使えます。
また、PHPの配列は内部ポインタ(カーソル)を持っており、配列内で現在参照している要素をシフトすることができます。
配列の取り扱いには内部ポインタを利用する場合と、そうでない場合とがある事を意識しながら紹介してきたいと思います。
PHPで配列の最後の要素を取得する方法
PHPで配列の最後の要素を取得する方法についてご紹介します。
PHPで配列の内部ポインタを最後の要素まで進め、最後の要素を取得する
内部ポインタを最後の要素へセットする関数end()
について解説していきます。
end()
の引き数には変数を指定する必要がある為、カッコ内に直接配列を記述する事はできません。
そのため、配列を一度変数に代入し、end()
にセットする形となります。
end()
を使うと、内部ポインタは最終要素にセットされているので、そのままセットされている要素を参照する事ができます。
また、配列の要素が1つしか存在しない場合や、配列が空の場合は FALSE
を返しますので注意してください。
end
$month = ['January','February','March','April','May'];
echo end($month);
上記コードの実行結果はこのようになります。末尾の要素が正しく取得できていますね。
PHPで配列ポインタを変えずに最後の要素を取得する
配列の最後のキーを取得する関数array_key_last()
を用います。
array_key_last()
の戻り値はキーなので、最後の要素を取得する為には配列にセットしなければいけません。
end()
に比べると1ステップ増えますが、内部ポインタが思わぬ挙動をする危険を回避できる事を考えると、より安全な方法と言えるでしょう。
array_key_last
$month = ['January','February','March','April','May'];
$key = array_key_last($month);
echo $month[$key];
こちらも正しく同じ値が取得できていますね。
PHPで添字配列の長さを使って最後の要素を取得する
添字配列のキーは数値なので、配列の長さ -1
でも最後のキーを求める事が出来ます。
必ず配列が添字配列である事が前提ですが、繰り返し処理の中など便利なケースもあるのでご紹介しておきます。
count
$month = ['January','February','March','April','May'];
echo $month[count($month)-1];
count()
は、配列の要素数を数える関数です。
添字配列のインデックスは0から始まるので、要素数 -1で末尾のインデックスを求める事ができます。
実行しても、end()
やarray_key_last()
と同じ結果を得る事ができました。
まとめ
PHPを使った、配列の最後の要素を取得する方法を解説してみましたが、いかがでしたでしょうか。
要素の取得については、取得したい目的と、要素取得までのプロセスを考えながら取得方法を選択すると、より良いコーディングができる様になります。
また今回は配列の最後の要素を取得する方法でしたが下記では配列の最初の要素を取得する方法を解説しています。
ぜひあわせて参考にしてみて下さい!
