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

Форум PHP

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

 

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

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

тема: Почему скрипт работает так?
 
 автор: nikolayers   (09.03.2013 в 00:15)   письмо автору
 
 


echo '3' + '0.5' , print('2') + 1;

Result: 3.531

не могу понять логику. для начала, 3+0.5 = 3.5, остальная часть неясна(( Помогите в понимании

  Ответить  
 
 автор: confirm   (09.03.2013 в 00:42)   письмо автору
 
   для: nikolayers   (09.03.2013 в 00:15)
 

http://www.php.net/manual/ru/function.echo.php

  Ответить  
 
 автор: Igorek   (09.03.2013 в 06:31)   письмо автору
 
   для: nikolayers   (09.03.2013 в 00:15)
 

Здесь еще надо не забывать, что print это не функция, а тоже конструкция языка и она всегда возвращает единицу. Если бы это была функция - результат был бы другой:
<?php 
function pr($a){
  return print 
$a;
}
echo 
'3' '0.5' pr('2')+1//3.522 


Т.к. print - не функция, то в выражении print('2') + 1, аргументом для print является не '2', а именно ('2')+1. Скобки здесь необязательны и поставлены, видимо, специально, чтобы запутать. Поэтому выводится '3', ну и, т.к. print всегда возвращает единицу echo выводит 1 в конце.

  Ответить  
 
 автор: nikolayers   (09.03.2013 в 16:37)   письмо автору
 
   для: Igorek   (09.03.2013 в 06:31)
 

спасибо)))

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

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