問題
PHPで連想配列の要素を順番の番号で取得するには?
解決策
「array_slice( 配列, 番号, その番号から取得する要素の数, true)」で取得することができます。
順番の番号で要素を取得したい時
PHPで処理の関係で、連想配列のキーからではなく、順番の番号で要素を取得したい場面に遭遇した時のために、今回は連想配列の要素を順番の番号で取得する方法をご紹介します。
「array_slice」を使用する。
「array_slice( 配列, 番号, その番号から取得する要素の数, true) 」で連想配列の要素を順番の番号で取得することができます。
$arrays = array(
'リンゴ',
'ミカン',
'ブドウ',
'マスカット',
'メロン',
'パイナップル'
);
$export = array_slice($arrays, 3, 1, true);
var_dump( $export );
出力結果:array(1) { [3]=> string(15) “マスカット” }
「current」を重ねて使うことで値のみ取り出す。
「current」を重ねて使い、「current( array_slice( 配列, 番号, その番号から取得する要素の数, true) )」で連想配列の要素を順番の番号の要素の値のみを取得することができます。
$arrays = array(
'リンゴ',
'ミカン',
'ブドウ',
'マスカット',
'メロン',
'パイナップル'
);
$export = current( array_slice($arrays, 3, 1, true) );
var_dump( $export );
出力結果:string(15) “マスカット”
参照
以下のサイトがより詳しく解説してくれています。
【PHPで連想配列を数字添字みたいに番号を指定して取得したい – WebCake】
https://webcake.stars.ne.jp/php-array-slice.html
【PHP: current – Manual】
https://www.php.net/manual/ja/function.current.php
コメント