APIによって返されるデータを処理する場合、一部の役に立たないアイテムまたは無効なアイテムを除外しながら、有効な情報を抽出する必要があることがよくあります。 PHPは非常に実用的な関数Array_Filter()を提供します。これは、配列内の要素をフィルタリングし、特定の条件に基づいて不要なアイテムを削除するために使用できます。この記事では、 array_filter()関数を使用してAPIをフィルタリングして、データ内の無効なアイテムを返す方法を学びます。
array_filter()関数は、配列内の要素をフィルタリングするために使用されます。この関数は、指定されたコールバック関数に基づいて各要素が保持されるかどうかを決定します。コールバック関数がtrueを返す場合、要素は保持されます。 FALSEの場合、要素が削除されます。
array_filter(array $array, callable $callback = null, int $mode = 0): array
$配列:フィルタリングする配列。
$ callback :フィルタリングのコールバック関数。提供されていない場合、 falseの値を持つ要素が削除されます。
$モード:返された配列インデックスメソッドを決定します。 array_filter_use_keyまたはarray_filter_use_use_bothにすることができます。
APIを介してJSON形式のデータを取得し、PHPアレイに変換するとします。次に、空の値、ヌル値、虚偽の値を持つアイテムなど、アレイ内の無効なアイテムを削除する必要があります。
次のAPIによってデータが返されているとします。
$response = [
'id' => 1,
'name' => 'John Doe',
'email' => 'john.doe@m66.net',
'phone' => '',
'address' => null,
'isActive' => false
];
このデータでは、電話や住所などの一部のフィールドが無効です(値は空またはnull )、それらを削除する必要があります。
これらの無効なアイテムをarray_filter()関数を介してフィルタリングできます。以下は実装コードです。
<?php
// API 返されたデータ
$response = [
'id' => 1,
'name' => 'John Doe',
'email' => 'john.doe@m66.net',
'phone' => '',
'address' => null,
'isActive' => false
];
// 使用 array_filter 無効なフィルタリング
$filteredData = array_filter($response, function($value) {
return !empty($value); // 空の値を除外します、null、false 待って
});
// フィルタリングデータを印刷します
print_r($filteredData);
?>
上記のコードを実行した後、出力$ filteredDataには有効なアイテムのみが含まれます。
Array
(
[id] => 1
[name] => John Doe
[email] => john.doe@m66.net
)
ご覧のとおり、電話、住所、 ISACTIVEが正常に削除されました。
empty()を使用して空の値をフィルタリングすることに加えて、実際のニーズに応じてフィルタリング条件をカスタマイズすることもできます。たとえば、偽の値でアイテムのみを削除し、空の文字列とnullを残したい場合は、次のようにコールバック機能を調整できます。
$filteredData = array_filter($response, function($value) {
return $value !== false; // 値のみを削除します false のアイテム
});
array_filter()関数を介して、PHPはAPIをフィルタリングしてデータ内の無効なアイテムを返す簡単な方法を提供します。ヌル値、ヌル、または特定の無効な値を削除するなど、ニーズに基づいてフィルタリング条件を定義できます。 array_filter()を使用した後、残りのデータはより簡潔で効果的で、さらに処理または表示に適しています。