Пусть будет строка $str
с любым количеством символов и $cons=25
, а также $rest=$cons-strlen( $str )
.
Теперь я хотел напечатать строку внутри ящиков, поэтому я сделал цикл, в котором она ловит символы внутри строки и выводит ее внутри div с классом w3-border
Css:
.w3-border
{
border: 1px solid #f1e1d4 !important;
width:16px !important;
height:25px;
border-collapse: collapse;
float: left;
}
Php:
echo'<div class="w3-container" style="margin-bottom:5px !important">';
$str = $row['address'];
$strlen = strlen( $str );
$rest=$cons-$strlen;
echo'<div class="w3-left" style="width:150px">Address</div>';
for( $i = 0; $i <= $strlen; $i++ ) {
$char = substr( $str, $i, 1 );
echo '<div class="w3-border w3-center">'.strtoupper($char).'</div>';
}
if($rest>0)
{
for($i=0;$i<$rest;$i++)
{
echo '<div class="w3-border w3-center"> </div>';
}
}
echo'</div>';
Теперь вышеприведенное работает нормально, если количество символов в строке меньше $cons
, но их больше, я хотел это сделать, он будет печатать еще '<div class="w3-border w3-center"> </div>'
до $ second> 0 ($ second = $ cons- $ rest), $ third> 0 ($ third = $ cons- $ second) и так далее.
Мне трудно понять, как этого добиться? Любая помощь / подсказка будет оценена.
Вид моей проблемы -
я хочу, чтобы данные строки печатались внутри ящиков, в одной строке максимум 25 ящиков, если данные меньше 25 ящиков, затем распечатывай данные, а остальные оставь пустыми ящики, чтобы сделать до 25 ящиков, как это

но если str больше 25, то он переходит к следующей строке, как эта

поэтому я хочу сделать что-то, что могло бы сделать вторую строку заполненной до 25 блоков, или, если данные до третьей строки, затем сделать поля до последней, чтобы она выглядела чистой, но я понятия не имею, как ее выполнить