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

PHPでarray_valuesを使う方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPでarray_valuesを使う方法について現役エンジニアが解説しています。PHPのarray_values()関数は、配列の全ての値を取得する関数です。連想配列から値を取得するサンプルプログラムを実行してみます。また、array_filterと組み合わせて添え字を振り直すこともできます。

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

今回は、PHPでarray_valuesを使う方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

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

 

なお本記事は、TechAcademyのオンラインブートキャンプ、PHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

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

大石ゆかり

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

田島悠介

PHPでarray_valuesを使う方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

array_valuesとは

PHPのarray_values()関数は、配列の全ての値を取得する関数です。

array_values()関数は、引数に渡した配列に対して、添字(インデックス)を与えて配列にして返却するので、連想配列の値を全て取得するような時に使用されます。
 

array_valuesを使う方法

それでは、array_values()関数の使用方法について見ていきましょう。

array_values($配列)

上述した通り、array_values()関数には、連想配列などの配列を渡します。

渡した配列の値を全て取得し、添字をつけて配列として返却します。
 

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

実際に書いてみよう

それでは、array_values()関数を実際に使用する例を見ていきましょう。

array_valuesの基本的な使い方

<?php
$fruits = ["apple" => "りんご", "orange" => "みかん", "lemon" => "れもん"];
$result = array_values($fruits);
print_r($result);

 

出力結果

Array
(
  [0] => りんご
  [1] => みかん
  [2] => れもん
)

上記の例では、array_values()関数に連想配列$fruitsを渡すことで、連想配列の中の値を全て取得し、添字をつけて配列で返却されていることが確認できます。
 

配列の添字を振り直す

array_values()関数は、array_filter()関数を組み合わせられます。配列の中に空やnullなどの不要な要素がある場合に、その不要な要素を削除して、添字を振り直すこともできます。

<?php
$fruits = ["りんご",  "みかん", "",  "メロン"];
// 配列内の不要要素を削除する
$fruits =array_filter($fruits);
print_r($fruits);
// 添字を振り直す
$result = array_values($fruits);
print_r($result);

 

出力結果

Array
(
  [0] => りんご
  [1] => みかん
  [3] => メロン
)
Array
(
  [0] => りんご
  [1] => みかん
  [2] => メロン
)

上記の例では、array_filter()関数に配列$fruitsを渡すことで、連想配列内の” “(空)を削除しています。

この状態で、$fruitsを出力すると、添字の[2]の部分が歯抜けの状態になっています。そこに、array_values()関数を使用することで、添字を振り直しが行われるので、$resultを出力すると添字の順番が詰められた状態になっていることが確認できます。
 

筆者プロフィール

平野大輝(ひらのだいき)

スキル:PHP・Java・JavaScriptを用いて様々なアプリを開発するWebエンジニア。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

TechAcademyでは、初心者でも、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。