Но при выводе $i мне выводит значительно большее число, чем есть сиволов в строке! Чего так?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
$str='Привед!';
for($i=0;!empty($str{$i});$i++){
echo $str{$i};
}
echo '</br>'.$i;
?>
Спустя 9 минут, 18 секунд (9.06.2012 - 01:09) redreem написал(а):
потому что в utf-8 символы могут кодироваться 2 байтами
Спустя 50 минут, 25 секунд (9.06.2012 - 01:59) Zzepish написал(а):
redreem
спасиб)
а как посчитать точное количество символов? strlen тож не вариант. он считает перенос за два
спасиб)
а как посчитать точное количество символов? strlen тож не вариант. он считает перенос за два
Спустя 9 минут, 11 секунд (9.06.2012 - 02:09) Семён написал(а):
mb_strlen
Спустя 11 часов, 44 минуты, 9 секунд (9.06.2012 - 13:53) Zzepish написал(а):
Семён
Спасиб)
Спасиб)
Спустя 36 минут, 55 секунд (9.06.2012 - 14:30) redreem написал(а):
Zzepish
вопрос может возникнуть если ты захочешь "перебрать" символы, в том варианте, которые в топике указан - в utf-8 перебора не получится.
если нужна работа с отдельными символами (не латинскими), то лучше принудительно отправить строку в родную однобайтовую кодировку и там уже перебирать буквы.
вопрос может возникнуть если ты захочешь "перебрать" символы, в том варианте, которые в топике указан - в utf-8 перебора не получится.
если нужна работа с отдельными символами (не латинскими), то лучше принудительно отправить строку в родную однобайтовую кодировку и там уже перебирать буквы.
Спустя 2 минуты, 9 секунд (9.06.2012 - 14:32) Zzepish написал(а):
redreem
да у меня просто метод такого подсчета возник после не правильного подсчета функцией strlen()
Глянь плз в эту тему
да у меня просто метод такого подсчета возник после не правильного подсчета функцией strlen()
Глянь плз в эту тему