【PHP】配列のキーを取得する関数「array_keys()」
今回はPHPで配列からキーを取得する関数「array_keys()」を使用してみます。キー番号を取得して色々な処理を行いたい時や、連想配列からキーを表示したい時などに使えそうな関数ですね。
配列のキーを取得する関数「arrray_keys()」
|
1 2 |
array_keys (キーを取得する配列を指定 [,指定した値を含むキーのみを取得 [, trueを指定した場合、$serarch_valueとキーの型式まで比較]] ) |
配列内の全てのキーを取得する
第1引数にキーを取得することで、配列の全てのキーを取得することができます。実際に見てみましょう。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php /*array_keys (キーを取得する配列を指定 [,指定した値を含むキーのみを取得 [, trueを指定した場合、$serarch_valueとキーの型式まで比較]] )*/ $array = array("a","b","c","d","e"); $array1 = array("a" => 1,"b" => 2,"c" => 3,"d" => 4,"e" => 5); print_r(array_keys($array)); print_r(array_keys($array1)); //実行結果 Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 ) Array ( [0] => a [1] => b [2] => c [3] => d [4] => e ) ?> |
実行結果から分かる通り、この関数は一番初めのキー番号を「0」とし、そこに定められているキーの値を取得します。
一つ目の配列には自動的にキー番号が割り当てられたので「0~4」のキー番号が取得できました。
一方二つ目の配列は、連想配列を用いてキー番号を「”a”~”e”」としています。連想配列でなければ本来自動的に割り当てられる「0~4」の箇所に対応するキーの値を取得しているという訳ですね。
指定した値を持つキーを取得する
今度は第2引数を指定して、指定した値をもつキー番号を取得してみます。
|
1 2 3 4 5 6 7 8 9 10 |
<?php //array_keys (キーを取得する配列を指定 [,指定した値を含むキーのみを取得 [, trueを指定した場合、$serarch_valueとキーの型式まで比較]] ) $array = array("a" => 1,"b" => 2,"c" => 3,"d" => 2,"e" => 1); print_r(array_keys($array,2)); //実行結果 Array ( [0] => b [1] => d ) ?> |
要素に「2」の値をもつキー、「b」と「d」が取得できました。