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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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




Глава 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