【php】array_filter()の使い方

プログラミング

この記事を読むメリット

  • array_filter()の使い方が分かる
  • 多次元配列など、for文、foreachでループさせずに、簡単に値を取得することができる
  • より現場のコードが知れる

どんな関数?

array_filterを使うと、コールバック関数を使用して、配列の要素を出力する。

もっと簡単な言い方をすると、配列を array_filter() の引数に入れて、取得したい値の処理を加えると、欲しい要素を取得できる。

実際にコードで見てみよう

<?php
  // 1
	$array = ['a' => 1, 'b' => 2];

  // 2 
	$result = array_filter($array, function($value) {
	    // 3
	    return $value === 1;
	});
  var_dump($result);
?>

それぞれの番号の説明していきます。

  1. 配列を定義する
  2. array_filterの第一引数に $array を入れ、第二引数に無名関数を入れる。$valueの値は、$aなど、なんでも問題ない。
  3. 取得したい値の条件を記載

出力結果

array(1) {
  ["a"]=>
  int(1)
}

多次元配列も簡単に値を取得できる

<?php
	$array["key"] = ['a' => 1, 'b' => 2];

	$result = array_filter($array["key"], function($value) {
	    return $value === 2;
	});
  var_dump($result);
?>

出力結果

array(1) {
  ["b"]=>
  int(2)
}

array_filterの第一引数に直接キーを指定してあげることで、値を取得できる。

for文などで、繰り返す必要がないのが、本当に楽。

参考記事

PHP: array_filter - Manual
PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.
【PHP】array_filterを使ってスマートに配列を抽出する方法
この記事では、array_filterを使って条件にマッチした要素を配列から抽出する方法について紹介します。PHPを使っていると、配列(連想配列)から要素を取り出したいときが良くありますよね。そんなときに役に立つのがarray_filterです。

まとめ

実際に自分で試してみると、より理解が深まるかなと思います。

ブラウザでプログラミング・実行ができる「オンライン実行環境」| paiza.IO
paiza.IOはオンラインですぐにプログラミングが始められる、オンライン実行環境です。Java,Ruby,Python,PHP,Perlなど主要32言語に対応。プログラミング学習にも。

自分も上記で色々なコードを試してみたりしています。

※phpのバージョン等にはお気をつけください。

以下のコードで、phpのバージョンを確認できます。

<?php
    phpinfo();
?>

コメント

タイトルとURLをコピーしました