Automattic\WooCommerce\Internal\Abilities\REST
RestAbilityFactory::dedupe_enum
Remove duplicate enum values while preserving order.
Uses JSON encoding for fingerprinting to correctly handle mixed scalar types (1 vs '1'), nulls, and complex values (arrays).
Method of the class: RestAbilityFactory{}
No Hooks.
Returns
Array. Deduplicated enum values.
Usage
$result = RestAbilityFactory::dedupe_enum( $values ): array;
- $values(array) (required)
- Enum values.
RestAbilityFactory::dedupe_enum() RestAbilityFactory::dedupe enum code WC 10.7.0
private static function dedupe_enum( array $values ): array {
$seen = array();
$unique = array();
foreach ( $values as $value ) {
$fingerprint = wp_json_encode( $value );
if ( isset( $seen[ $fingerprint ] ) ) {
continue;
}
$seen[ $fingerprint ] = true;
$unique[] = $value;
}
return $unique;
}