Automattic\WooCommerce\Internal\Abilities\REST

RestAbilityFactory::dedupe_enumprivate staticWC 1.0

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() 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;
}