PHP - str_pad
Třída
Metoda - str_pad
(PHP 4 >= 4.0.1, PHP 5, PHP 7)
str_pad()
slouží k zarovnání stringu na požadovanou délku.
Zbývající místo je vyplněno požadovaným znakem nebo skupinou znaků (ve
výchozím stavu mezerami). Ve výchozím stavu je vstupní string zarovnán
vkládáním znaků zprava(STR_PAD_RIGHT
), parametrem
$pad_type
ale lze nastavit také vkládání znaků zleva
(STR_PAD_LEFT
) nebo na obě strany (STR_PAD_BOTH
).
Při lichém počtu vkládaných znaků a nastaveném vkládání na obě
strany (STR_PAD_BOTH
) je napravo vloženo o jeden znak více, než
napravo.
<?php echo str_pad("hello", 8, "_", STR_PAD_BOTH); ?>
pad_string()
může být delší než jeden znak, v takovém
případě jsou znaky postupně střídány:
<?php echo str_pad("hello", 28, "-|", STR_PAD_BOTH); ?>
Je-li vstupní string kratší než $pad_length
, vstupní string
je vrácen beze změny.
Procedurální
- function str_pad (int $pad_length, string $pad_string = ) : string
Parametry
Název | Datový typ | Výchozí hodnota | Popis |
---|---|---|---|
$pad_length | int | Délka, na kterou má být vstupní řetezec prodloužen. Je-li vstupní řetězec delší, bude vstupní řetězec vrácen beze změny. | |
$pad_string | string | Znaky, kterými bude vyplněno místo kolem vstupního stringu. |
Návratové hodnoty
Vrací: string
Vrací vstupní string doplněný na požadovanou délku.
Příklady
<?php echo str_pad("ITnetwork.cz", 20, "-"); // ITnetwork.cz-------- ?>
<?php echo str_pad("ITnetwork.cz", 20, "-", STR_PAD_LEFT); // --------ITnetwork.cz ?>
<?php echo str_pad("ITnetwork.cz", 20, "-", STR_PAD_BOTH); // ----ITnetwork.cz---- ?>
<?php echo str_pad("LUKÁŠ", 40, "jmenujise", STR_PAD_BOTH); ?>
<?php
echo "| " . str_pad("Prijmy", 12) . "|" . str_pad(426, 20, " ", STR_PAD_LEFT) . " Kč |\n";
echo "| " . str_pad("Vydaje", 12) . "|" . str_pad(-6952, 20, " ", STR_PAD_LEFT) . " Kč |\n";
echo "| " . str_pad("Dohromady", 12) . "|" . str_pad(-6526, 20, " ", STR_PAD_LEFT) . " Kč |\n";
?>
Dopnění čísla úvodními nulami:
<?php
$rand = 456;
// Chceme doplnit na šest číslic
echo str_pad($rand, 6, "0", STR_PAD_LEFT);
?>