Привет. У меня этот код отрабатывает и выдает сообщение : Код (Text): $d = 0; if ($d=="dffff") {echo "wtf integer is = to string";} Как такое может быть? Если я что-то не так делаю, объясните мне пожулайста. Добавлено спустя 9 минут 47 секунд: О мой бог! В случае, если вы сравниваете число со строкой или две строки, содержащие числа, каждая строка будет преобразована в число, и сравниваться они будут как числа. Эти правила также распространяются на оператор switch. Преобразование типов не происходит при использовании === или !== так как в этом случае кроме самих значений сравниваются еще и типы. Тема закрыта, я думаю , если никто ничего не хочет добавить)
Да вы "что-то" не так делаете, сравнивая строку с числом. Поэтому читать приведение типов, типы данных и их гибкое сравнение ("==") в PHP. Код (Text): if ($d==="dffff") {echo "wtf integer is = to string";} else{ echo 'Ничего пободного!'; } upd. Хорошо что сами дошли и плохо что не сразу.
Именно так. Код (Text): echo (int) "dffff"; // 0 Дело в том, что '==' не проверяет типы, а старается привести к одному. Строка превращается в 0, сравнивается с 0 и получается true. Поэтому, без явной необходимости '==' использовать не нужно, вместо этого сравнивать надо через '==='. Оно учтет типы данных и вернет false, даже при (0 === "0"). p.s. пых он такой, да )
Читаю json строку, а там ключи могут быть как числа так и строки. Буду впредь знать. Спасибо за ответы!
Не читайте json-строку, используйте http://php.net/manual/ru/function.json-decode Все уже украдено до нас.
https://php.net/manual/ru/language.types.string.php#languag ... conversion md5('240610708') равно 0e462097431906509019562988736854 md5('QNKCDZO') равно 0e830400451993494058024219903391 var_dump('0e462097431906509019562988736854' == '0e830400451993494058024219903391') -> bool(true) var_dump('0e462097431906509019562988736854' === '0e830400451993494058024219903391') -> bool(false) $foo = (int)"0e830400451993494058024219903391"; var_dump($foo) -> int(0)
ты не объяснил саму суть. var_dump( (int)"0f830400451993494058024219903391" ); тоже ноль, однако сравнение через == вернет уже false )
Строки, инт и буль Код (PHP): $a = 'dfffff'; $b = 0; $c = true; var_dump($a == $b); var_dump($a == $c); строки и арефметика Код (PHP): $a = 1; $b = '10oooo'; echo $a + $b;
Sometimes I want to write any text here, but, do you know, how it feels? It feels like it's missing. Как-то так, плюс минус. Понять точно, что за мысль ты доносишь, немного сложно, написал как понял. Или там у тебя что-то типа: Sometimes I want to write any text here, but, do you know this feel? Feel like it's missing.
я планировал там написать "иногда я хочу написать здесь какой-нибудь текст, но какой смысл? его нет" отметил для себя промах с частицами "to", а вот насчет "feels" не понял, зачем оно.
вот прям "мгимо финишд" что называется про тебя. кто это такой кого зовут Смысл? может быть все же смысл в данном контексте неодушивленный и ты не можешь его называть he, он может быть только it. в общем тройка в школьном курсе это максимум с таким английским. про to вообще молчу. реально ты взял русский текст и просто слово в слово перевел на английский сильно не задумываясь о связанности текста. русский человек так же машинно переведет слово в слово и получит завершенное осмысленное предложение. любой владеющий английским языком поделит на ноль примерно после want. практика нужна, да.
ВОТЭТОПОРОВОТ. Надо подлатать свой внутренний словарик. Не знал, что это слово еще и "смысл" может означать. Добавлено спустя 1 минуту 54 секунды: нет возможности? У тебя дома и в кармане есть аппараты, позволяющие получать информацию на любом языке мира и находить в любом уголке мира собеседников. Более того, честь куча сервисов, у которых обмен лингвистический - вся суть. Возможностей со времени твоей "молодости" стало в разы больше. В десятки раз больше. Тогда так, вариация: Sometimes I want to write any text here, but is there meaning? No, is not. sense я б не стал юзать тут, неоднозначное слово, сильно контекст просит. Вообще, дословно прям топором нельзя переводить тексты. Языки отличаются не только тем, что слова разные.
не, ну так-то я иногда почитываю/учу время от времени,- я имею ввиду про образование государственное - не учат. насчёт "sense":