ホームページ  >  記事  >  バックエンド開発  >  PHP はコールバック関数を使用して配列関数 array_filter() 内の要素をフィルタリングします。

PHP はコールバック関数を使用して配列関数 array_filter() 内の要素をフィルタリングします。

黄舟
黄舟オリジナル
2017-11-07 13:26:271537ブラウズ

コールバック関数を使用して、array内の要素をフィルタリングします:

<?php
function test_odd($var)
{
return($var & 1);
}

$a1=array("a","b",2,3,4);
print_r(array_filter($a1,"test_odd"));
?>

定義と使用法

array_filter()関数は、コールバック関数を使用して配列内の要素をフィルタリングします。

この関数は、入力配列内の各キー値をコールバック関数に渡します。コールバック関数が true を返した場合、入力配列の現在のキー値が結果配列に返されます。配列キー名は変更されません。

構文

array_filter(array,callbackfunction);
パラメータ 説明
配列 必須。フィルタリングする配列を指定します。
コールバック関数 が必要です。使用するコールバック関数を指定します。

技術的な詳細

戻り値: フィルターされた配列を返します。
PHP バージョン: 4.0.6+

今日、マニュアルを読んでarray_filter() の使用法の詳細を調べているときに、小さな重要な点に気づきました。コールバックが提供されていない場合、すべてのFALSE に等しい入力のエントリ (ブール値への変換を参照) は削除されます。コールバック関数が指定されていない場合、FALSE に等しいすべての要素が削除されます。空の要素を含む一部の配列をフィルターするために使用できませんか?私のアイデアをテストするために、すぐに例を書きました。

$entry = array( 
             0 => &#39;蓝色夏威夷的博客&#39;, 
             1 => false, 
             2 => 1, 
             3 => null, 
             4 => &#39;&#39;, 
             5 => &#39;http://www.jb51.net&#39;, 
             6 => &#39;0&#39;,
             7 => array(),
             8 => 0
          );
$validarr = array_filter($entry);
print_r($validarr);
//输出结果:
Array
(
    [0] => 蓝色夏威夷的博客
    [2] => 1
    [5] => http://www.jb51.net
)

ブール値 FALSE に変換できる一部の配列要素が削除されており、有効な配列を取得するための非常に包括的なフィルターが作成されています。

以上がPHP はコールバック関数を使用して配列関数 array_filter() 内の要素をフィルタリングします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。