PHP でよく使用される 2 つの配列フィルター関数、array_filter と array_unique を紹介します。1 つは配列の空の値をフィルターするもので、もう 1 つは配列の重複する値をフィルターするものです。
文法
array_filter(配列,関数)
パラメータの説明
配列 必須。入力配列を指定します。
function カスタム関数の名前。空の場合、値が false のすべての要素が除外されます
コードは次のとおりです | コードをコピー |
|
コードをコピー
$arrF = 配列(); | $arrS = 配列();$intTotal = 100; | $intRand = 10; for($i=0; $i <$intTotal; $i++)||||
$arrF[] = rand(1, $intRand); $arrS[] = rand(1, $intRand); }
$arrT = array_merge($arrF, $arrS); ";<br> print_r($arrT);<br> print_r($arrRF);<br> print_r($arrRS);<br> echo ""; ?>
$intTotal が 10000 より大きい場合、$intRand が 100 のとき、foreach ループの判定 $intRand=10 よりも array_unique を使用した効率が高く、両方の実行時間は同じです。 したがって、配列の容量が大きくない場合 (おそらく 1000 以内)、2 つを使用した場合の実行効率は同等であると結論付けることができます。 配列の容量が比較的大きい場合 (特定の値はテストしていません。興味があればこの値を決定できます)、$intRand が徐々に増加するにつれて、array_unique のパフォーマンスが向上します。$intTotal/ 比率の理由は使用しません。 $intRand の値は、比例して変化するようには感じられないという点で異なりますが、基本的には、比率が大きいほど array_unique のパフォーマンスが向上するということになります。 要約すると、配列内の重複する値をフィルタリングする場合は、array_unique を使用することをお勧めします。配列が小さい場合、array_unique を使用すると、コードが数行削減されます。配列の容量が大きすぎるため、関数のパフォーマンスが向上します
PHP 配列には重複を削除する組み込み関数 array_unique () がありますが、PHP の array_unique 関数は 1 次元配列にのみ適用でき、多次元配列には適用できません。
|
www.bkjia.com