wp_filter_object_list()


WordPressのwp_filter_object_list()関数は、オブジェクトのリストを特定の条件でフィルタリングするために使用されます。この関数は、特定のプロパティに基づいて配列またはオブジェクトのリストをフィルタリングできます。

構文

wp_filter_object_list( array $objects, array $args = array() );

引数の説明:

  • $objects (array) — フィルタリング対象のオブジェクトの配列。
  • $args (array) — フィルタリング条件を指定する連想配列。例えば、プロパティ名やその値。

例 1: オブジェクトリストのフィルタリング

以下のコードは、特定のプロパティ値に基づいてオブジェクトをフィルタリングします。

$objects = array(
    (object) array( 'name' => 'Apple', 'category' => 'fruit' ),
    (object) array( 'name' => 'Carrot', 'category' => 'vegetable' ),
    (object) array( 'name' => 'Banana', 'category' => 'fruit' )
);
$args = array( 'category' => 'fruit' );
$filtered = wp_filter_object_list( $objects, $args );
var_dump($filtered);

例 2: 複数の条件でフィルタリング

複数の条件を指定してオブジェクトをフィルタリングします。

$objects = array(
    (object) array( 'name' => 'Apple', 'category' => 'fruit', 'color' => 'red' ),
    (object) array( 'name' => 'Carrot', 'category' => 'vegetable', 'color' => 'orange' ),
    (object) array( 'name' => 'Banana', 'category' => 'fruit', 'color' => 'yellow' )
);
$args = array( 'category' => 'fruit', 'color' => 'red' );
$filtered = wp_filter_object_list( $objects, $args );
var_dump($filtered);

例 3: プロパティ名が存在しない場合

指定されたプロパティが存在しないオブジェクトを除外します。

$objects = array(
    (object) array( 'name' => 'Apple', 'category' => 'fruit' ),
    (object) array( 'name' => 'Carrot', 'category' => 'vegetable' ),
    (object) array( 'name' => 'Banana' ) 
);
$args = array( 'category' => 'fruit' );
$filtered = wp_filter_object_list( $objects, $args );
var_dump($filtered);

例 4: キーによるフィルタリング

指定されたプロパティが一致するオブジェクトのみを取得します。

$objects = array(
    (object) array( 'name' => 'Apple', 'category' => 'fruit' ),
    (object) array( 'name' => 'Carrot', 'category' => 'vegetable' ),
    (object) array( 'name' => 'Banana', 'category' => 'fruit' )
);
$args = array( 'category' => 'vegetable' );
$filtered = wp_filter_object_list( $objects, $args );
var_dump($filtered);

例 5: 空の配列をフィルタリング

空の配列が渡された場合の挙動を確認します。

$objects = array();
$args = array( 'category' => 'fruit' );
$filtered = wp_filter_object_list( $objects, $args );
var_dump($filtered); // 結果は空の配列

注意事項

  • 引数に指定する$objectsは配列であり、オブジェクトの配列である必要があります。
  • $argsで指定した条件に一致するプロパティ名と値が必要です。
  • フィルタリングの結果、指定された条件に一致するオブジェクトの配列が返されます。

関連機能: