П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 180599 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 79055 раз(а).

Учебник HTML.
Просмотров 75813 раз(а).

Руководство по PHP5.
Просмотров 46860 раз(а).

Хостинг через призму DNS.
Просмотров 54317 раз(а).

Подборка текстов стандартных документов.
Просмотров 46686 раз(а).

Учебник PHP - Самоучитель
Просмотров 52896 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 53502 раз(а).

Внешние атаки...
Просмотров 43250 раз(а).

Учебник PHP.
Просмотров 38779 раз(а).

SSI в примерах.
Просмотров 28690 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Глава 2. Переменные и типы данных

Переключение типов

Иногда бывает удобно использовать переменные способами, не предусмотренными при их создании. Допустим, вам захочется прибавить строковое значение "15" к целому числу 12. К счастью, тип переменных РНР может изменяться и без использования механизма явного преобразования. Этот процесс, независимо от того, выполняется ли он прямо или косвенно, называется переключением(juggling) типов. Лучше всего продемонстрировать сказанное на конкретных примерах.

Предположим, вы суммируете две величины — строку и целое число. Как вы думаете, что при этом произойдет? Результат зависит от содержимого строки. Например, при суммировании целого числа со строковым представлением числа будет получено целое число:

$variablel = 1;
$variable2 = "1";
$variable3 = $variablel + $variable2;
// $variable3 присваивается 4.

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

$variable1 = 3;
$variable2 = 5.4;
$variable3 = $variablel + $variable2;
// $variable1 интерпретируется как вещественное число.
// и $variable3 присваивается 8.4.

Следует упомянуть о некоторых малоизвестных особенностях переключения типов. Что произойдет при попытке суммирования целого числа и строки, содержащей целое число, но не являющейся строковым представлением? Рассмотрим следующий пример:

$variablel = 5;
$variable2 = "100 bottles of beer on the wall";
$variable3 = ;variable1 + $variable2;
// $variable3 присваивается 105

В результате переменной $variable3 присваивается значение 105. Это происходит из-за того, что лексический анализатор РНР определяет тип по началу строки. Допустим, мы привели переменную $variable2 к виду "There are 100 bottles of beer on the wall". Поскольку алфавитные символы трудно интерпретировать как целое число, строка интерпретируется как 0, и переменной $variable3 присваивается 5.

Хотя в большинстве случаев переключение типов обеспечивает желаемый результат, существует способ явного приведения переменных к конкретному типу. Эта тема рассматривается в следующем разделе.

Назад | Содержание раздела | Общее Содержание | Вперед



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru