Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
п имеет то или иное выра- 

жение. 
Чуть чаще возникает потребность узнать тип переменной (например, переданной в 
параметрах функции) прямо во время выполнения программы. 
В этой связи давайте посмотрим, какие же типы данных понимает PHP. 
Типы переменных 
PHP непосредственно поддерживает 5 типов переменных, которые я здесь перечислю 
и коротко опишу. 
integer 
Целое число со знаком, обычно длиной 32 бита (от –2 147 483 648 до 2 147 483 
647, 
если это еще кому-то может быть интересно). 
double 
Вещественное число довольно большой точности (ее должно хватить для подавляю- 
щего большинства математических вычислений). 
string 
Строка любой длины. В отличие от Си, строки могут содержать в себе также и 
нуле- 
вые символы, что никак не повлияет на программу. Иными словами, строки можно 
использовать для хранения бинарных данных. Длина строки ограничена только раз- 
мером свободой памяти, так что вполне реально прочитать в одну строку целый 
"объ- 
емистый" файл размером так килобайтов 200—300 (что часто и делается). Строка 
легко может быть обработана при помощи стандартных функций, можно также непо- 
средственно обратиться к любому ее символу. 
array 
Ассоциативный массив (или, как его часто называют, хэш, хотя для PHP такое 
поня- 
тие совсем не подходит). Это набор из нескольких элементов, каждый из которых 
представляет собой пару вида ключ=>значение (символом => я обозначаю соответ-

Глава 7. Переменные, константы, выражения 119 
ствие определенному ключу какого-то значения). Доступ к отдельным элементам 
осуществляется указанием их ключа. В отличие от массивов Си, ключами здесь 
могут 
служить не только целые числа, начиная с нуля, но и любые строки. Например, 
впол- 
не возможно существование таких команд: 
// создаст массив с ключами "0", "a", "b" и "c" 
$a=array(0=>"zzzz", "a"=>"aaa", "b"=>"bbb", "c"="ccc"); 
echo $a["b"]; // auaaaao "bbb" 
$a["1"]="qq"; // создаст новый элемент в массиве и присвоит ему "qq" 
$a["a"]="new_aaa"; // присвоит существующему элементу "new_aaa"; 
Забегая вперед, скажу, что оператор array() создает массив, элементы которого 
пе- 
речислена в его скобках. 
object 
Объект, реализующий несколько наиболее простых принципов объектно- 
ориентированного программирования. Внутренняя структура объекта похожа на хэш, 
за исключением того, что для доступа к отдельным элементам и функциям использу- 

ется оператор ->, а не квадратные скобки. Про объекты мы еще поговорим в буду- 
щем, когда разберемся наконец с основами языка. 
Логические переменные 
Существует и еще один гипотетический тип переменных — логический. Логическая 
переменная может содержать одно из двух значений: false (ложь) или true (исти- 
на). Любое ненулевое число (и непустая строка), а также ключевое слово true 
сим- 
волизирует истину, тогда как 0, пустая строка и слово false — ложь. Таким обра- 

зом, любое ненулевое выражение (в частности, значение переменной) 
рассматривается в логическом контексте как истина. Вы можете пользоваться кон- 
стантами false и true в зависимости от логики программы. 
Ключевые слова false и true — не совсем обычные константы. Раньше я говорил, 
что false является просто синонимом для пустой строки, а true — для единицы. 
Именно так они выглядят, если написать следующие операторы: 
echo false; // выводит пустую строку, т. е. ничего не выводит 
echo true; // выводит 1 
Теперь давайте рассмотрим такую программу (листинг 7.1). 
Листинг 7.1. Логические величины 
" 
if($a==true) echo "переменная истинна!
" Часть III. Основы языка PHP 120 ?> Если бы true была в точности равна константе 1, то вывелись бы обе строки, не правда ли? А отображается только последняя. Это говорит о том, что не все так про- сто. Мы видим, что в операторах сравнения (например, в операторе сравнения на ра- венство ==, а также в операторах >, < и т. д.) PHP интерпретирует один из операндов как логический, если другой также логический. Следующий пример (листинг 7.2) по- казывает, что, вообще говоря, PHP хранит для каждой переменной признак, явля
 
<<-[Весь Текст]
Страница: из 287
 <<-