Forum Webscript.Ru
Программирование => PHP => Тема начата: Vladimir от 29 Августа 2002, 10:12:38
-
Написал такой код:
$a = 1;
$c = "1";
$rez1 = $a + $c;
$rez2 = $c + $a;
echo"$rez1
$rez2";
?>
По всем правилам на экран должно вывести:
2 и 11
А у меня оба результата равняются 2 и обе переменные string :-/
В чем может проблема? Может глюкавая версия PHP?
-
$rez2 = $c.$a;
а + предназначен именно для складывания, что пхп и делает.
Вот этот раздел (http://www.php.net/manual/en/language.operators.php) тебе думаю будет сильно интересен
-
А у меня оба результата равняются 2 и обе переменные string :-/
Обе переменные integer...
-
PHP автоматически конвертирует строки в числа и наоборот
-
Maniac
Ну и что? В данном примере обе переменные integer...
-
В данном примере обе переменные integer...
Да ну? А ты сделай print gettype() и узнаешь, какого они типа.
В данном примере переменная $a - типа integer, $c - типа string, но при сложении интерпретатор преобразовал $c в строку.
А если бы он не складывал, а делал конкатенацию, то $a было бы преобразовано в string
-
Маньяк, зачем ты это написал?
Кому это надо?
Доктор все правильно объяснил.
А ты сам невнимательно читаешь, в словах путаешься и еще споришь.
Тут тебе даже отвечать нечего - потому, что все давно отвечено, а ты просто невнимательно прочел.
Ну не люблю я вот когда простые и четкие ответы потом замыливаются вот такими "обсуждениями" на пустом месте.
По хорошему тут стереть надо все, начиная с четвертого постинга в этой теме.
-
RomikChef
Если бы мне нужен был анализ моего постинга, я бы попросил.
А Доктор допустил ошибку, ткнул меня в неё носом, я ему (здесь же) показал где он не прав.
-
:-))))))))))))))))
Маньяк!
Я тебя обожаю :-)))))
Я ДАВНО так не смеялся!!!!
"Доктор опустил ошибку и ткнул меня в нее носом" :-)))))))
слушай, ты хоть в одном постинге можешь написать без смысловых ошибок? :-))))
про ошибки, кторых нет, я уже молчу :-)))
Сил нету :-))))
-
Смешливый ты наш.
опустил ошибку
допустил.
кторых нет я уже молчу
Вот и молчи. Почитай орфографический словарик русского языка, а также что-нибудь по теории программирования (там популярно написано про типы и их неявное преобразование)
-
RomikChef
Не достало?
-
Маньяк, чтобы ты дальше не тупил, я позволю себе показать твои ошибки :-)
А у меня оба результата равняются 2 и обе переменные string :-/
Обе переменные integer...
То есть, речь идет о последних двух переменных, а и с тут не при чем.
уж не знаю, зачем ты прицепился к этим а и с, отвечая доктору - ведь он-то имел в виду рес1 и рес2!
Дальше. КОНЕЧНО ЖЕ, эти переменные (рес1 и рес2 )будут иметь тип интеджер. Я не собираюсь даже проверять это.
Так что, на этом можно спор и закончить.
$c - типа string, но при сложении интерпретатор преобразовал $c в строку.
Вот этот пассаж непонятен абсолютно. Нет, то, что ты опечатался, и написал строка вместо int - это понятно. Непонятно - к чему?
То ли ты считаешь, что при участии в выражении, переменная необратимо меняется, то ли хочешь сказать, что из-за того, что переменная $c нынче integer, то пееменные рес1 и рес2 - стринг...
В общем, перечитал я твое сообщение, 4 сверху, и понял, что оно могло не относиться к словам Доктора. Но тогда ты бы так и объяснил, а не стал спорить.
-
$c - типа string, но при сложении интерпретатор преобразовал $c в строку
Это была опечатка. Я имел в виду "в число".
Далее... Мой постинг ДЕЙСТВИТЕЛЬНО относился к автору топика.
бы так и объяснил, а не стал спорить
Ты не спрашивал.
В общем, проехали. ИМХО, автор топика сюда уже и не заглядывает :)
-
Maniac
Беда в том, что теории программирования тут не при чем. Чуточку здравого смысла и банальной внимательности.
-
теории программирования тут не при чем. Чуточку здравого смысла и банальной внимательности
Согласен
-
Я, действительно, принял 4-е сообщение в теме за ответ мне (иначе непонятно, зачем оно было надо), и поэтому сам на него ответил.
Замяли...