Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Строковая переменная php
 
 автор: demonow   (15.12.2011 в 22:12)   письмо автору
 
 

Проглядывая книгу по php заметил интересный случай

$a="8";
echo $a+1;
В результате вывело 9.
Получаеться оно к строковой переменной добавило единицу.
Обьясните почему так?

  Ответить  
 
 автор: Valick   (15.12.2011 в 22:14)   письмо автору
 
   для: demonow   (15.12.2011 в 22:12)
 

книгу читать нуно, а не проглядывать :)
РНР автоматически преобразует типы переменных
в данном случае увидело арифметическую операцию, преобразовало и уже аж потом прибавило

  Ответить  
 
 автор: demonow   (15.12.2011 в 22:35)   письмо автору
 
   для: Valick   (15.12.2011 в 22:14)
 

А чего тогда всеровно string показывает?

$bob="1";
echo gettype($bob);
echo $bob+9;
echo gettype($bob);

  Ответить  
 
 автор: Drago   (16.12.2011 в 02:09)   письмо автору
 
   для: demonow   (15.12.2011 в 22:35)
 

<?
$bob
="1"
echo 
gettype($bob); 
$bob =  $bob+9
echo 
$bob;
echo 
gettype($bob);

  Ответить  
 
 автор: ladan   (15.12.2011 в 23:45)   письмо автору
 
   для: demonow   (15.12.2011 в 22:12)
 

ну так это касается только чисел, те строки, где только числа

  Ответить  
 
 автор: STEVER   (15.12.2011 в 23:53)   письмо автору
 
   для: demonow   (15.12.2011 в 22:12)
 

думаю тогда это вас тоже удивит:

$a=8;
echo $a . "1"; 

  Ответить  
 
 автор: cheops   (16.12.2011 в 14:53)   письмо автору
 
   для: demonow   (15.12.2011 в 22:12)
 

Язык слаботипизированный, стараются исключить понятие типа на столько, насколько это вообще возможно.

  Ответить  
 
 автор: STEVER   (17.12.2011 в 15:50)   письмо автору
 
   для: cheops   (16.12.2011 в 14:53)
 

> стараются исключить понятие типа на столько, насколько это вообще возможно.
не совсем согласен, с каждой версией все больше подкручивают гайки. Т.е. движение как раз к более тимизированой структуре.
ИМХО

  Ответить  
 
 автор: cheops   (17.12.2011 в 17:03)   письмо автору
 
   для: STEVER   (17.12.2011 в 15:50)
 

Да, есть такая тенденция... но все-таки стараются слабую типизацию сохранять - иначе смысла в этом языке будет не много, проще будет откочевать в сильно-типизированный язык, который изначально задуман как сильно-типизирован и для которого много готового кода, с архитектурой, рассчитанной на сильную типизацию. Поэтому, я думаю гайки, конечно, и дальше будут закручивать, но на решающий бросок не решаться - иначе получится просто другой язык для других задач.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования