{category}

PHP - 配列関数

array_filter()

アレイ フィルター(配列

意味 配列の要素を条件で絞り込む


array_filter()とは?

array_filter()は、PHPの配列関数の一つです。指定した配列の要素に対して、指定した条件(コールバック関数)を適用し、その条件に合致する要素のみを含む新しい配列を作成します。配列から特定の条件を満たす要素だけを抽出したい時に便利です。

array_filter()の具体的な使い方

配列をフィルタリングする例

$numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

$evenNumbers = array_filter($numbers, function($n) {
    return $n % 2 == 0;
});

$oddNumbers = array_filter($numbers, function($n) {
    return $n % 2 != 0;
});

echo "元の配列: ";
print_r($numbers);

echo "偶数の配列: ";
print_r($evenNumbers);

echo "奇数の配列: ";
print_r($oddNumbers);

👇出力結果

元の配列: Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
    [9] => 10
)
偶数の配列: Array
(
    [1] => 2
    [3] => 4
    [5] => 6
    [7] => 8
    [9] => 10
)
奇数の配列: Array
(
    [0] => 1
    [2] => 3
    [4] => 5
    [6] => 7
    [8] => 9
)

この例では、array_filter()を使用して元の配列から偶数と奇数を抽出しています。無名関数を使用して条件を指定し、その条件に合致する要素のみを新しい配列に含めています。

連想配列をフィルタリングする例

$fruits = [
    'apple' => 50,
    'banana' => 30,
    'orange' => 40,
    'grape' => 60,
    'mango' => 55
];

$expensiveFruits = array_filter($fruits, function($price) {
    return $price > 45;
});

echo "すべての果物と価格: ";
print_r($fruits);

echo "45円より高い果物: ";
print_r($expensiveFruits);

👇出力結果

すべての果物と価格: Array
(
    [apple] => 50
    [banana] => 30
    [orange] => 40
    [grape] => 60
    [mango] => 55
)
45円より高い果物: Array
(
    [apple] => 50
    [grape] => 60
    [mango] => 55
)

この例では、果物の名前と価格の連想配列から、45円より高い果物をフィルタリングしています。array_filter()は連想配列のキーを保持したまま新しい配列を作成します。

array_filter()に関するよくある質問

Q. フィルター関数は必須ですか?
A. いいえ、フィルター関数を省略すると、配列の各要素を真偽値として評価し、真と評価される要素のみを返します。
Q. キーは保持されますか?
A. はい、array_filter()は元の配列のキーを保持します。そのため、結果の配列のキーが連続しない場合があります。
Q. 大きな配列での使用は問題ない?
A. array_filter()は効率的ですが、非常に大きな配列では処理時間が長くなる可能性があります。そのような場合は、他の方法(例:ジェネレータ)を検討することもあります。

array_filter()が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのarray_filter()や数値インデックス、array_search()、文字列キー、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

数値インデックス

配列の要素に自動的に割り当てられる番号

種類: 添字配列

array_search()

配列の値の検索

種類: 配列関数

文字列キー

連想配列で要素を識別するための文字列

種類: 連想配列

rmdir()

ディレクトリを削除する

種類: ディレクトリ操作

スネークケース

単語をアンダースコアで連結

種類: コーディング規約