La fonction str_pad()
PHP références des fonctions PHP(PHP 4 >= 4.0.1, PHP 5)
str_pad() — Complète une chaîne jusqu'à une taille donnée
Étape 1 — Comprendre la syntaxe de str_pad() : que fait chaque paramètre ?
str_pad() retourne la chaîne input, complétée à droite, à gauche ou dans les deux sens, avec la chaîne pad_string jusqu'à ce qu'elle atteigne la taille de pad_length. Si input est déjà plus longue que pad_length, la fonction la retourne inchangée — aucune troncature n'a lieu.
Syntaxe
str_pad(input, pad_length, pad_string, pad_type)
| Paramètre | Description |
|---|---|
input |
Requis. Spécifie la chaîne à compléter. |
pad_length |
Requis. Spécifie la nouvelle longueur de chaîne. Si la valeur de pad_length est négative, plus petite que, ou égale à la taille courante de la chaîne input, input est retournée inchangée. |
pad_string |
Facultatif. Spécifie la chaîne à employer pour le remplissage. Par défaut : un espace. |
pad_type |
Facultatif. L'argument optionnel pad_type peut être l'une des constantes suivantes : STR_PAD_RIGHT, STR_PAD_LEFT, ou STR_PAD_BOTH. Si pad_type n'est pas spécifié, il prend la valeur par défaut de STR_PAD_RIGHT. |
Étape 2 — Compléter une chaîne à droite, à gauche ou des deux côtés
Les trois constantes pad_type changent uniquement où le remplissage est ajouté — la longueur finale reste toujours celle de pad_length :
<html> <body> <?php $input = "Alien"; echo str_pad($input, 10), "<br />"; echo str_pad($input, 10, "-=", STR_PAD_LEFT), "<br />"; echo str_pad($input, 10, "_", STR_PAD_BOTH), "<br />"; echo str_pad($input, 6, "___"); ?> </body> </html>
Résultat attendu :
Alien -=-=-Alien __Alien___ Alien_
La première ligne ajoute 5 espaces à droite (comportement par défaut). La deuxième répète "-=" à gauche jusqu'à occuper 5 caractères. La troisième répartit 5 caractères de remplissage autour de la chaîne : 2 à gauche, 3 à droite — quand le total est impair, le côté droit reçoit toujours le caractère en trop.
Étape 3 — pad_string plus long que nécessaire : que se passe-t-il ?
La dernière ligne de l'exemple précédent, str_pad($input, 6, "___"), illustre un cas qu'on oublie souvent : pad_string vaut "___" (3 caractères), mais un seul caractère de remplissage suffit pour passer de 5 à 6. str_pad() tronque alors pad_string et n'ajoute qu'un seul _, jamais les trois.
En résumé : str_pad() n'ajoute jamais plus de caractères que nécessaire pour atteindre pad_length, même si pad_string est plus long que l'espace disponible — il est simplement coupé à la bonne taille.
Fonction précédente : |
Fonction suivante : |