Automattic\WooCommerce\Internal\Abilities\REST

RestAbilityFactory::dedupe_enum │ private static │ WC 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 11.1.2

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