@EvgeniiR
https://github.com/EvgeniiR

Функция printf() и выравнивание пробелами?

Допустим мне необходимо массив чисел вывести как таблицу.
В массиве числа из одной и из двух цифр, необходимо чтобы в таблице ряды и столбцы были ровные.
Вот такой код дополняет однозначные числа нулями:
<?php
    $arr = [1,8,12,15,6,19,56,78,43,1,5,7,4,23,6,76,4,15,1,8,12,15,6,19,56,78,43,1,5,7,4,23,6,76,4,15,1,8,12,15,6,19,56,78,43,1,5,7,4,23,6,76,4,15];
    for($i=0; $i<count($arr);$i++){
        printf("%02d ", $arr[$i]);
        if(($i+1)%3 == 0) echo "<br/>";
    }
?>

Про данную функцию написано что по умолчанию в качестве заполнителя используется пробел.
Вопрос в следующем: как собственно сделать такое выравнивание, но подставляя пробелы а не нули?
Как настраивать свой заполнитель понятно, но как использовать стандартный то(пробел), или как его задать самому?
  • Вопрос задан
  • 645 просмотров
Решения вопроса 2
toxa82
@toxa82
$arr = [1, 8, 12, 15, 6, 19, 56, 78, 43, 1, 5, 7, 4, 23, 6, 76, 4, 15, 1, 8, 12, 15, 6, 19, 56, 78, 43, 1, 5, 7, 4, 23, 6, 76, 4, 15, 1, 8, 12, 15, 6, 19, 56, 78, 43, 1, 5, 7, 4, 23, 6, 76, 4, 15];
foreach (array_chunk($arr, 3) as $values) {
    vprintf("%2d %2d %2d<br/>", $values);
}
Ответ написан
Комментировать
@EvgeniiR Автор вопроса
https://github.com/EvgeniiR
UPD: Понял сам. Я не учел что вывожу на страницу прямо из php, и при преобразовании в html все пробелы кроме одного не учитаваются.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
str_pad()

string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )

This function returns the input string padded on the left, the right, or both sides to the specified padding length. If the optional argument pad_string is not supplied, the input is padded with spaces, otherwise it is padded with characters from pad_string up to the limit.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы