【PHP入門】配列の値を取得する(array_values)

PHPでは配列を使用してさまざまな処理が可能です。

この記事では、

・array_values関数で配列の値を取得する方法
・配列の添字を振り直す方法

という基本的な内容から、

・配列の値の数を取得する方法

などの応用的な使い方に関しても解説していきます。

今回はそんなarray_values関数の使用方法について、わかりやすく解説します!

配列の値を取得する

ここではarray_values関数を使用して、配列の全ての値を取得する方法を紹介します。

array_valuesの使い方

配列の全ての値を取得したい場合には、array_values関数を使用します。

array_values関数は、引数に対象の配列を指定します。

array_values( $配列 )

array_values関数は、数字添字をキーにつけた配列を返します。

以下にarray_values関数を使用した、値を取得する方法を記述します。

<?php

$array = ['kwd1'=>'samurai', 'kwd2'=>'engineer'];

//array_valuesを使用して全ての値を取得する
$array_val = array_values($array);

var_dump($array_val);

?>
実行結果
array(2) { [0]=> string(7) "samurai" [1]=> string(8) "engineer" }

サンプルでは連想配列に対してarray_values関数を実行しています。

実行結果のとおり配列の値と、配列のキーには数字添字が取得できていることがわかりますね。

配列の添字を振り直す

配列の要素に空やNULLなどの不要な要素がある場合、不要な要素のみ削除することがあります。

しかし、要素を削除するだけでは、配列の添字(インデックス番号)がそのままですので、添字を振り直す必要があります。

以下のサンプルでは、array_filter関数で空の配列の要素を削除後に、array_values関数で配列の添字を振り直しています。

<?php

$fruits = [ 'apple', 'orange', '', 'banana', 'pineapple'];

//array_filterを使用して空の要素を削除する
$fruits = array_filter($fruits);
echo '空の要素削除:';
var_dump($fruits);

echo '<br>';

//array_valuesを使用して配列の添字を振り直す
$fruits = array_values($fruits);
echo 'array_valuesを使用:';
var_dump($fruits);

?>
実行結果
空の要素削除:array(4) { [0]=> string(5) "apple" [1]=> string(6) "orange" [3]=> string(6) "banana" [4]=> string(9) "pineapple" } 
array_valuesを使用:array(4) { [0]=> string(5) "apple" [1]=> string(6) "orange" [2]=> string(6) "banana" [3]=> string(9) "pineapple" }

実行結果のとおり、array_filter関数で空の要素を削除するだけでは、数字添字は0,1,3,4の順ですが、array_valuesで配列の添字を振り直すことにより、キーが0,1,2,3と添字が順番に振り直されていることがわかりますね!

サンプルで紹介したarray_filter関数については、以下の記事で詳しく解説しています!

配列の値の数を取得する

array_values関数に似た名前の関数として、array_count_values関数があります。

array_count_values関数は、配列の値の数を数えるときに使用します。

array_count_values( $配列名 )

以下にarray_count_values関数の使い方を記述します。

<?php

$values = [ 'apple', 'orange', 'melon', 'banana', 'melon'];

$values_count = array_count_values($values);

var_dump($values_count);

?>
実行結果
array(4) { ["apple"]=> int(1) ["orange"]=> int(1) ["melon"]=> int(2) ["banana"]=> int(1) }

紹介したarray_count_values関数や配列の値の重複処理については、以下の記事で詳しく解説しています!

array関数についてもっと詳しく知りたい方へ

配列を操作するさまざまな関数の使い方については、以下の記事にまとめていますので、ぜひ参考にしてくださいね!

まとめ

ここでは、array_values関数を使用して配列の値を取得する方法や、配列の要素を削除後に数字添字を振り直す方法、array_count_values関数を使用して配列の値の数を取得する方法などについて解説しました。

array_values関数は、配列から値のみを取得したい場合に便利な関数ですので、この機会にぜひ覚えておきましょう!

もし、array_values関数の使い方を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部として、これまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。プログラミング初学者に向けてわかりやすく、ためになるコンテンツ作りを心がけています。

おすすめコンテンツ

いまならレッスン期間が2週間延長!この秋、プログラミングを学ぼう

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー