Задать вопрос
Arris
@Arris
Сапиенсы учатся, играя.

Как изящно и быстро сделать вывод числа «полоской» (ASCII-столбчатой диаграммой)?

Некая функция генерит набор чисел от 1..6

Нужно визуализировать вывод в виде набора горизонтальных "полосок" записанных символами, как-то так
XXX___
XX____
XXXXX_
XXX___

итп. Желательно печатать именно "_", а не пробел, хотя это усложнение.

Самое очевидное решение - рисовать такую полоску в каком-нибудь таком цикле:
for ( $i = 1; $i<= N; $i++) { for ($j=1; $j<= set[$i]; $j++) { echo 'X'; } echo '<br/> '; }


Но может быть есть какое-то более изящное решение, которого я не вижу?
  • Вопрос задан
  • 2467 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
Arris
@Arris Автор вопроса
Сапиенсы учатся, играя.
В принципе я нашел решение :)

$str = str_repeat('_', MAX_STRING_LENGTH);  // в данном случае 6
...
$bar = substr_replace($str, str_repeat('X', $i), 0, $i );
...

Но может быть есть изящнее?
Ответ написан
Комментировать
Melkij
@Melkij
DBA для вашего PostgreSQL?
str_pad(str_repeat('X', $i), MAX_STRING_LENGTH, '_', STR_PAD_RIGHT);

?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽