オーダーメイドコース
icon
icon

PHPで配列のkeyを取得する方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPで配列のkeyを取得する方法について解説しています。PHPの配列のkeyとは、配列の添字(インデックス)や連想配列のキーのことです。配列のkeyを取得するにはarray_keys関数を使います。array_keys関数は、戻り値としてkey名だけの新しい配列を返してくれます。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

監修してくれたメンター

nakamoto

アジマッチ有限会社代表取締役社長。書籍化歓迎。対応業務:PHP(Laravel)、機械学習、Vue.js、LAMP・AWS、越境EC、CTO、エンジニア採用、CTO、経営者の不安解決コンサルティング。

今回は、PHPで配列のkeyを取得する方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

PHPで配列のkeyを取得することで、配列で使われているkeyを調べることができます。

実務でも配列のkeyを利用した値の操作を行いますので、ぜひ学習してみてください。

 

目次

 

そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPで配列のkeyを取得する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

この記事では、PHPで配列のkeyを取得する方法について記載しています。

まだPHPでの開発に慣れていない方でも理解できる内容です。

 

配列のkeyとvalueについて

PHPでは連想配列という配列において、keyとvalueのセットで連想配列にデータを格納します。

配列とは、複数の値を入れる箱のようなものです。

 

通常の配列

通常の配列においては、添字(インデックス)という数字でデータ(value)の格納場所に番号を振っています。

配列サンプルコード

<?php
$array = ["りんご", "れもん", "もも"];
print_r($array);
echo $array[1];

配列実行結果

配列解説

<?phpでは、PHPプログラムを開始しています。

$array = [“りんご”, “れもん”, “もも”];では、$array配列に”りんご”, “れもん”, “もも”を代入しています。

print_r($array);では、$array配列を表示しています。

echo $array[1];では、$array配列の1番目のインデックスで指定した、れもんを表示しています。

 

連想配列

連想配列は、添字(インデックス)の代わりにデータ(value)を入れる箱に「key」という任意の名前をつけて管理します。

つまり、連想配列ではインデックスではなく、任意の文字列であるkeyを利用してvalueを抽出できます。

連想配列サンプルコード

<?php
$array = ["apple" => "りんご", "lemon" => "れもん", "peach" => "もも"];
print_r($array);
echo $array["lemon"];

連想配列実行結果

連想配列解説

<?phpでは、PHPプログラムを開始しています。

$array = [“apple” => “りんご”, “lemon” => “れもん”, “peach” => “もも”];では、$array配列に”apple” => “りんご”, “lemon” => “れもん”, “peach” => “もも”を代入しています。

print_r($array);では、$array配列を表示しています。

echo $array[“lemon”];では、$array配列のkeyであるlemonで指定した、れもんを表示しています。

 

array_keys関数の使い方

PHPのarray_keys関数は、連想配列の「key」だけを取得する関数です。

それでは、array_keys関数の使い方について見ていきましょう。

 

array_keys関数で「key」だけを抽出する

次のように、array_keys関数の引数に連想配列を渡すことで、「key」だけを抽出した配列として返却します。

array_keys($連想配列)

 

array_keys関数で検索するvalueとセットになっているkeyを抽出

第1引数に連想配列を渡し、第2引数に連想配列の中のvalueから検索したい値を渡すことで、検索するvalueとセットになっているkeyを抽出し配列にして返却します。

第3引数はオプションなので、必須ではありません。

第3引数は、boolean型のtrueを渡すことで、第2引数に渡した「検索するvalue」のデータ型まで完全に一致するものを連想配列の中から探します。

デフォルトではboolean型のfalseが設定されているので、データ型が完全に一致しなくても検索対象です。

boolean型というのは、trueかfalseの2つの値のどちらかになる型の値です。

array_keys($連想配列, $検索するvalue [, $型チェック = FALSE])

 

[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは

array_keys関数で「key」だけを抽出する方法を実際に書いてみましょう

ここでは、連想配列のkeyをすべて抽出する方法について見ていきましょう。

 

サンプルコード

<?php
$array = ["apple" => "りんご", "lemon" => "れもん", "peach" => "もも"];
// 連想配列のkeyを抽出し、配列にして返却
$keys = array_keys($array);
print_r($keys);

実行結果

解説

<?phpでは、PHPプログラムを開始しています。

$array = [“りんご”, “れもん”, “もも”];では、$array配列に”りんご”, “れもん”, “もも”を代入しています。

$keys = array_keys($array);では、 array_keys関数を利用して、$array配列のkeyを取得して、変数$keysに代入しています。

print_r($keys);では、変数$keysを表示しています。

実行結果では、連想配列$arrayのkeyがすべて抽出され、$keysに配列として返却されていることが確認できます。

 

array_keys関数で検索するvalueとセットになっているkeyを抽出する方法を実際に書いてみましょう

ここでは、array_keys関数で検索するvalueと、セットになっているkeyを抽出する方法を実際に書いてみましょう。

サンプルコード

<?php
$array = ["apple" => "red", "lemon" => "yellow", "peach" => "pink", "banana" => "yellow"];
// "yellow"のvalueとセットのkeyを抽出する
$keys = array_keys($array, "yellow");
print_r($keys);

実行結果

解説

<?phpでは、PHPプログラムを開始しています。

$array = [“apple” => “red”, “lemon” => “yellow”, “peach” => “pink”, “banana” => “yellow”];では、変数$array に、連想配列[“apple” => “red”, “lemon” => “yellow”, “peach” => “pink”, “banana” => “yellow”]を代入しています。

$keys = array_keys($array, “yellow”);では、連想配列が入った$array に対し、”yellow”をvalueに持つkeyの”lemon”と”banana”抽出しています。

抽出後、$keys に代入しています。

print_r($keys);では、$keys を表示しています。

実行結果では、”yellow”をvalueに持つkeyの”lemon”と”banana”抽出され、配列として返却されているのが確認できます。

 

検索するvalueのデータ型までチェックする方法を実際に書いてみましょう

ここでは、array_keys関数で検索するvalueとセットになっているkeyを抽出する方法を応用して、第3引数にtrueを渡して、検索するvalueのデータ型までチェックしてみます。

サンプルコード

<?php
$array = [ 'sandwich' => '150', 'chicken' => '100', 'potato' => '100', 'salad' => '150' ];
// 数値の100をvalueに持つkeyを抽出する
$keys = array_keys($array, '100', true);
print_r($keys);

実行結果

解説

<?phpでは、PHPプログラムを開始しています。

$array = [ ‘sandwich’ => ‘150’, ‘chicken’ => ‘100’, ‘potato’ => ‘100’, ‘salad’ => ‘150’ ];では、$array に連想配列の ‘sandwich’ => ‘150’, ‘chicken’ => ‘100’, ‘potato’ => ‘100’, ‘salad’ => ‘150’ というデータを代入しています。

$keys = array_keys($array, ‘100’, true);では、array_keys関数の第3引数にboolean型のtrueを渡すことで、第2引数に渡す「検索するvalue」の値とデータ型が一致するkeyを連想配列の中から抽出しています。

print_r($keys);では、$keys を表示しています。

今回array_keys($array, ‘100’, true);というコードでは、第2引数に文字列の100を渡しているので、値とデータ型が一致するvalueを持つkeyの”chicken”と”potato”が抽出されているのが確認できました。

 

数値と文字列を混在した場合の解説

もし、用意するデータのうち、”chicken”に数値の100を指定した場合、次のような配列データになります。

$array = [ 'sandwich' => '150', 'chicken' => 100, 'potato' => '100', 'salad' => '150' ];

そして、 array_keys($array, ‘100’, true);でデータを抽出して表示すると、数値データで指定された’chicken’は表示されず、 ‘potato’ のみ表示されます。

 

まとめ

今回は、array_keys関数を使用して、連想配列のkeyを抽出する方法について解説しました。

配列と連想配列の違いを具体的なコードを利用して解説しました。

array_keys関数で、「key」だけを抽出する方法を解説しました。

array_keys関数で、検索するvalueとセットになっているkeyを抽出する方法解説しました。

検索するvalueのデータ型までチェックする方法を解説しました。

array_keys関数は引数の数によって機能が異なる関数なので、使い方をしっかりマスターし、状況に応じて使い分けましょう。

PHPの配列の基本を現役エンジニアが解説した記事も参考にしてみてください。

 

大石ゆかり

内容が分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

PHPを学習中の方へ

これで解説は終了です、お疲れさまでした。

  • つまずかず「効率的に」学びたい
  • 副業や転職後の「現場で使える」知識やスキルを身につけたい

プログラミングを学習していて、このように思ったことはありませんか?

テックアカデミーのPHP/Laravelコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。

合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、PHP/Laravelを使ったWebアプリケーション開発を学べます。

まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。

時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!