max() Sur des Chaînes de Caractères
<?php
$a = ['shit', 'min', 'acces', 'max'];
echo min($a); // access
$a = ['shit', 0, 'acces', '%'];
echo min($a); // %
// Cute
$a = ['shit', .8 , 'acces', '.9'];
echo min($a); // 0.8
// Multi-byte
$a = ['通','用','规','范','汉','字','表'];
echo min($a);
// Multi-byte
$a = ['안','녕','하','세','요'];
echo min($a);
Les fonctions min() et max() retournent la valeur minimale ou maximale des éléments d’un tableau. Cela fonctionne avec les entiers, mais aussi avec les chaînes de caractères.
Dans le cas des chaînes, la comparaison est effectuée avec l’opérateur spaceship, donc les lettres sont traitées par ordre alphabétique.
La comparaison est sensible à la casse : les lettres majuscules ont la priorité sur les lettres minuscules. C’est généralement le comportement attendu.
En dehors de la plage alphabétique, l’ordre des chaînes est basé sur le numéro ASCII des caractères : les chiffres ont un rang inférieur aux lettres et apparaissent donc toujours en premier. Et encore plus bas dans la table ASCII, des caractères comme % apparaîtront avant les autres. Cela signifie également qu’il est recommandé d’appliquer trim() aux chaînes pour éviter qu’une chaîne commençant par un espace soit considérée comme le minimum.
Cela implique aussi que les caractères multi-octets sont triés selon le code ASCII de leurs octets, et non comme un tout. Les langues comme le chinois ne trient généralement pas le texte de cette façon, aussi cette fonctionnalité ne sera probablement pas utilisée pour ces cas.
See Also
- min-max sur des chaînes [Try me]
PHP Features
Last updated: 11 October 2026