Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

array_unique() et enum

<?php
  
enum E: string {
  case A = 'a';
  case B = 'b'; 
  case C = 'c';
  case D = 'd';
}

var_dump(in_array(E::B, E::cases())); 

var_dump(array_unique(E::cases())); 
var_dump(array_unique(E::cases(), SORT_REGULAR)); 

?>

Les énumérations fonctionnent comme des valeurs normales, la plupart du temps. Elles peuvent être utilisées comme valeurs dans des tableaux, mais pas comme clés, que ce soit directement ou par transtypage.

Un tableau d’énumérations peut être utilisé avec in_array(), et cela fonctionne de la même façon, avec ou sans le troisième paramètre strict de la fonction.

En revanche, array_unique() compare par défaut les valeurs en tant que chaînes, et les énumérations ne peuvent pas être converties silencieusement en chaînes, même si elles sont soutenues par des chaînes. Pour que cette fonction PHP native fonctionne, il est nécessaire d’utiliser l’option SORT_REGULAR comme troisième argument, ce qui agit comme $strict dans in_array().

See Also

PHP Error Messages

PHP Features

Last updated: 04 October 2026