logo oujood
🔍

Fonction str_pad() de PHP

str_pad() complète une chaîne jusqu'à une longueur donnée — utile pour aligner du texte en colonnes ou générer un identifiant à taille fixe.

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 :

  📋 Copier le code

<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.


Par carabde : 22 août 2014 | Mis à jour le 18 juillet 2026