【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関数の使い方を忘れてしまったら、この記事を思い出してくださいね!

この記事を書いた人

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

目次