Как добавить <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>';
}