現在の位置: ホーム> 最新記事一覧> array_filter()とarray_unique()を使用して、有効な要素をArrayに容易にする方法は?

array_filter()とarray_unique()を使用して、有効な要素をArrayに容易にする方法は?

M66 2025-06-04

PHPでは、多くの場合、アレイを推測するか、無効な要素をフィルタリングする必要があります。これらのタスクを達成するために、PHPは多くの組み込み関数を提供します。ここでは、 array_filter()array_unique()が2つの非常に一般的に使用される関数です。今日は、これらの2つの機能を組み合わせて、配列に有効な要素を推定する方法を探ります。

array_filter()array_unique()とは何ですか?

  • array_filter() :この関数は、配列内の要素をフィルタリングするために使用されます。配列内の各要素を反復し、指定されたコールバック関数(コールバック)に基づいてこの要素を保持するかどうかを決定します。コールバック関数がtrueを返す場合、要素は保存されます。それ以外の場合は、廃棄されます。

  • array_unique() :この関数は、配列内の重複要素を削除するために使用されます。アレイ内の要素をチェックし、すべての重複した値を削除し、初めての要素の発生のみを維持します。

重複排除のためにarray_filter()array_unique()を組み合わせます

場合によっては、最初に無効または不要な要素を除外してから、配列を拡張する必要がある場合があります。これを実現するには、 array_filter()array_unique()を一緒に使用できます。

コード例:

文字列と数字を含む配列があるとして、最初にnullと無効な値を除外し、次に有効な要素を推定する必要があります。

 <?php
// オリジナル配列,ヌル値が含まれています、繰り返し要素と無効な値
$array = [1, 2, 3, '', null, 4, 4, 'apple', '', 'banana', 'apple', 'm66.net', 'apple'];

// 使用 array_filter() 無効な要素を除外します
$filteredArray = array_filter($array, function($value) {
    // 空の値を除外します、nullその他の無効な値
    return !empty($value);
});

// 使用 array_unique() 重複した有効な要素を削除します
$uniqueArray = array_unique($filteredArray);

// 出力結果
print_r($uniqueArray);
?>

コード解析:

  1. array_filter() :コールバック関数($ value)を使用して配列をフィルタリングします。 !empty($ value)は、非ヌルおよび非ヌル要素のみを保持することを保証します。 empty()は、空の文字列、 0nullおよびその他のnull値を無効な要素と見なすため、それらの要素を除去します。

  2. array_unique() :フィルター処理された配列を推定し、各要素の値のみが初めて表示されます。

実行結果:

 Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [5] => 4
    [6] => apple
    [7] => banana
    [10] => m66.net
)

アプリケーションシナリオと組み合わせて

API( http://api.m66.net/dataなど)から取得したデータを処理すると、配列に無効なデータ項目(空の文字列、重複要素など)が含まれている可能性があり、有効で一意の要素のみを取得したいとします。現時点では、 array_filter()array_unique()を使用すると、データをすばやくクリーンアップできます。

たとえば、 M66.NET APIインターフェイスからユーザーのショッピングカート情報の配列を取得すると、次のコードを介して無効なアイテムを除外できるとします。

 <?php
// からのシミュレーション API ショッピングカートアレイを取得します
$cartItems = ['apple', '', 'banana', 'apple', 'm66.net', null, 'banana', 'm66.net', 'apple'];

// 無効なアイテムを除外します
$validItems = array_filter($cartItems, function($item) {
    return !empty($item);
});

// 重いものに行きます
$uniqueItems = array_unique($validItems);

print_r($uniqueItems);
?>

最終結果は、空の値、複製、無効なアイテムを削除するショッピングカートリストになります。

要約します

array_filter()array_unique()を組み合わせることにより、Arrayで無効な要素を柔軟にフィルタリングして、それらを推測できます。これら2つの組み合わせは、特に外部のデータソース(APIなど)を扱う場合に実際の開発において非常に実用的であり、データの有効性と一意性を確保するのに役立ちます。