Как добавить <br> в строку с substr()

Для следующего кода:

<?php
$word = 'SEKISUI';

// echo substr($word,0,-6)."<br>";
$length = (strlen($word)+1)-14;
$urut = 0;
  for($i=$length;$i<1;$i++){
    echo substr($word,$urut,$i).'<br>';
//    echo $urut."-".$i."-".'<br>'; // Check Value
    $urut++;
  }

?>

Результат:

S
E
K
I
S
U

почему буква "я" не появляется?
что не так с моим кодом?
Результат должен выглядеть так:

S
E
K
I
S
U
I

Спасибо за внимание...

2 ответа

Решение

Я не знаю, НУЖНО ли вам использовать цикл for, но есть лучший способ разбить строку на отдельные символы.

Если у вас есть массив, вы можете выполнить с ним любую операцию, а также присоединить () элементы в массиве с разделителем "\
".

Попробуйте следующее:

$word = 'SEKISUI';
$result = str_split($word);
$altogether = join("<br>",$result);

Не уверен, почему вам нравится вычитать длину и не иметь дело с положительными числами в максимально возможной степени.

В синтаксисе substr(string,start,length),

Необязательный. Определяет длину возвращаемой строки. По умолчанию это конец строки. Положительное число - длина, возвращаемая из начального параметра. Отрицательное число - длина, возвращаемая из конца строки.

Так что, по сути, ваш указатель на конечный символ считается на уровне nevel. если вы бежите echo substr($word,0,-1)."<br>";, вы не получите конечный символ, так как он является местом начала отрицательного substr, Тем не менее, изменение substr длина до 1 даст правильную строку и not null или же empty string

$word = 'SEKISUI';

// echo substr($word,0,-6)."<br>";
$length = (strlen($word)+1)-14;
$urut = 0;
  for($i=$length;$i<1;$i++){
    echo substr($word,$urut,1).'<br>';
//    echo $urut."-".$i."-".'<br>'; // Check Value
    $urut++;
  }

Однако я бы предпочел такой подход, так как он намного проще.

$word = 'SEKISUI';

//echo substr($word,1,1)."<br>";
$length = strlen($word);
$urut = 0;
for($i = $urut; $i <= $length; $i++){
  echo substr($word,$i,1).'<br>';
}
Другие вопросы по тегам