PHPで配列のキー(key)を取得する方法を解説!

PHPで配列のキー(key)を取得する方法について全てのキーや、特定のキー、現在のカーソル位置のキーなどそれぞれのパターン毎にサンプルコード付きで解説します。

コンテンツ [表示]

  1. 1PHPで配列のキー(key)を取得したい
  2. 2PHPで配列のキー(key)を取得する方法
  3. 2.1PHPで配列の全てのキー(key)を取得する
  4. 2.2PHPで配列の特定値(value)の最初のキー(key)を取得する
  5. 2.3PHPで配列の特定値(value)の全てのキー(key)を取得する
  6. 2.4現在のカーソル位置のキー(key)を取得

PHPで配列のキー(key)を取得したい

PHPで配列のキー(key)を取得したい時があります。配列の全てのキー(key)を取得したい時、特定のキー(key)を取得したい時、現在のカーソル位置のキー(key)を取得したい時など、今回はいろいろなケースで配列のキーを取得する方法について紹介したいと思います。

配列のキー(key)を取得するにあたって、PHPの配列について下記の記事でご紹介していますので、併せて確認してみましょう。

あわせて読みたい
PHPで配列の最後の要素を取得する方法を解説!のイメージ
PHPで配列の最後の要素を取得する方法を解説!
PHPで配列の最後の要素を取得する方法についてご紹介します。簡単にPHPの配列についても考えながら最後の要素を取得する方法について解説していきます。

PHPで配列のキー(key)を取得する方法

PHPで配列の全てのキー(key)を取得する

PHPで配列の全てのキー(key)を取得するにはarray_keys関数を用います。

array_keys関数は、パラメーターにキー(key)を取得したい配列をセットする事で、配列のキー(key)を値(value)にした配列が戻ります。

array_keys関数

array_keys( 配列 );

添字配列連想配列array_keys関数の実行結果を確認してみましょう。

添字配列

$subscriptArray = [
    '赤',
    '青',
    '白',
    '黄',
    '緑',
    '白',
];

連想配列

$associativeArray = [
    'red' => '赤',
    'blue' => '青',
    '#fff' => '白',
    'yellow' => '黄',
    'green' => '緑',
    'white' => '白',
];

この2つの配列からすべてのキー(key)を取得します。

添字配列も、連想配列でも配列のキー(key)が値(value)になった配列を、取得する事ができました。
 

PHPで配列の特定値(value)の最初のキー(key)を取得する

PHPで配列の特定値(value)の最初のキー(key)を取得するには、array_search関数を用います。

array_search関数は、第一引き数へ検索したい値を、第二引き数へ検索対象の配列をセットします。

array_search関数

array_search( 検索したい値, 配列);

array_search関数でも、先程と同じ配列から値(value)が’白’のキー(key)を取得してみます。

添字配列

$subscriptArray = [
    '赤',
    '青',
    '白',
    '黄',
    '緑',
    '白',
];

連想配列

$associativeArray = [
    'red' => '赤',
    'blue' => '青',
    '#fff' => '白',
    'yellow' => '黄',
    'green' => '緑',
    'white' => '白',
];

array_search関数を使って値(value)が'白'の最初のキー(key)を取得した結果は、下記になります。

添字配列の場合はインデックス「2」が、連想配列の場合は「#fff」のキー(key)が取得できました。

配列内に’白’は2つ存在しますが、最初のキー(key)が取得されています。

次に、全ての’白’のキー(key)を取得する方法についてご紹介します。
 

PHPで配列の特定値(value)の全てのキー(key)を取得する

array_keys関数では、配列の全てのキー(key)を取得する事ができますが、関数の第二引き数へ検索したい値をセットする事で、特定のキー(key)を取得する事もできます。

array_keys関数とはパラメータが逆の為、気を付けましょう。

array_keys関数

array_keys( 配列, 検索したい値 );

それでは、先程と同じ配列から’白’のキー(key)を取得してみます。

添字配列の場合はインデックス「2」と「5」が、連想配列の場合は「#fff」と「white」のキー(key)が取得できました。
 

現在のカーソル位置のキー(key)を取得

PHPのkey関数で現在のカーソル位置のキー(key)を取得する事ができます。

key関数については、下記の配列のインデックスを指定して最初の要素を取得する方法で解説しています。

あわせて読みたい
PHPで配列の最初の要素を取得する方法を解説!のイメージ
PHPで配列の最初の要素を取得する方法を解説!
PHPで配列の先頭要素を取得する方法についてご紹介します。要素の取得と配列の中身の変化についても注意しながら解説していきます。

ここでは、配列のカーソルを'白'まで進めkey関数でキー(key)を取得する方法を、サンプルコードで紹介したいと思います。

配列をforeach関数を使ってループしカーソルを1つずつ進めています。値(value)が'白'の時にkey関数を用いてキー(key)を出力しました。

array_keys関数と同じ結果を取得する事ができました。

最初にヒットしたキー(key)のみ取得したい場合はif文の中でbreakするとarray_search関数と同じ結果を取得する事も可能です。

GeekHive採用サイト

関連記事