PHPでは、多くの場合、アレイを推測するか、無効な要素をフィルタリングする必要があります。これらのタスクを達成するために、PHPは多くの組み込み関数を提供します。ここでは、 array_filter()とarray_unique()が2つの非常に一般的に使用される関数です。今日は、これらの2つの機能を組み合わせて、配列に有効な要素を推定する方法を探ります。
array_filter() :この関数は、配列内の要素をフィルタリングするために使用されます。配列内の各要素を反復し、指定されたコールバック関数(コールバック)に基づいてこの要素を保持するかどうかを決定します。コールバック関数がtrueを返す場合、要素は保存されます。それ以外の場合は、廃棄されます。
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);
?>
array_filter() :コールバック関数($ value)を使用して配列をフィルタリングします。 !empty($ value)は、非ヌルおよび非ヌル要素のみを保持することを保証します。 empty()は、空の文字列、 0 、 nullおよびその他のnull値を無効な要素と見なすため、それらの要素を除去します。
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など)を扱う場合に実際の開発において非常に実用的であり、データの有効性と一意性を確保するのに役立ちます。
関連タグ:
array_filter