Непонятка с равенством строк

Статус
В этой теме нельзя размещать новые ответы.

ЛЮБОСВЕТ

Новичок
Непонятка с равенством строк

Такой кусок кода:
PHP:
$bukvi = "vbcdefg";
$stroka = "vbcdefg";
echo $stroka[0]; echo "<br>";
echo $bukvi[0]; echo "<br>";

if ($srtoka[0] == $bukvi[0])
echo "Совпадают";
else
echo "Не совпадают";
результат выполнения скрипта - надпись - "Не совпадают"
Не могу понять, где собака порылась?
 

Alexandre

PHPПенсионер
а так
PHP:
$bukvi = "vbcdefg";
$stroka = "vbcdefg";
$s= $stroka[0];
$b=$bukvi[0]; 
if ($s == $b)
echo "Совпадают";
else
echo "Не совпадают";
 

ЛЮБОСВЕТ

Новичок
Все поверено и исправлено.

А не криво обьявлять 2 доп. переменных, чтобы выполнить проверку на равенство символов в сторке?
 

Grezz

Новичок
Автор оригинала: ЛЮБОСВЕТ
Все поверено и исправлено.

А не криво обьявлять 2 доп. переменных, чтобы выполнить проверку на равенство символов в сторке?
Криво, столь же криво, как хранить данные в одной переменной, а проверять другую

Дубль два:
$stroka != $srtoka
 

ЛЮБОСВЕТ

Новичок
Извинтиляюсь, всем респект и уважуха, а мне ламеру бестолковому - всяческое презрение. ПХП - рулит.

ЗЫ. Вчера день рождения отмечал... сегодня тяжелей чем обычно...
 

Фанат

oncle terrible
Команда форума
для тех, кто туго соображает.
писать надо свои программульки под error_reporting(E_ALL)
тогда таких тупых ошибок не будет
 

iceman

говнокодер
хмммм, если я не ошибаюсь, доступ к символу строки через {} появился в пхп5 ?
 

AmdY

Пью пиво
Команда форума
>$bukvi{0}
это некоректно работает с многобайтными кодировками.
 

Активист

Активист
Команда форума
AmdY
Почему? С точки зрения PHP все корректно. Если символ занимает два байта, что тут поделаешь?
 

zerkms

TDD infected
Команда форума
iceman
появился и уже считается устаревшим :)
 

fixxxer

К.О.
Партнер клуба
c [] и {} была помню ржака, что их загоняли в DEPRECATED по очереди, отменяя депрекейтед на противоположный вариант ) уж и не помню в каком порядке =)
 

nexen

Новичок
это само по себе не верное написание вы напишите
var_dump($bukvi);
результатом будет
string(7) "vbcdefg"
а не
array('0' => 'v', '1' => 'b', . . . )

есть так же функция strcasecmp(); и strpos(); для работы со строками и лучше всё же при сравнении строк, символов использовать тождество ===
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху