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

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

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

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
 массиве. Например, если в массиве $A нужно удалить элемент с ключом 
for_del, это можно сделать так: 
Unset($A["for_del"]); 
Теперь элемент for_del не просто стал пустым, а именно удалился, и последующий 
перебор элементов массива его не обнаружит. 
Определение типа переменной 
Кроме этих трех действий существуют еще несколько стандартных функций, которые 
занимаются определением типа переменных и часто включаются в условные опера- 
торы. Вот они. 
r is_integer($a) 
Возвращает true, если $a — целое число. 
r is_double($a) 
Возвращает true, если $a — действительное число. 
r is_string($a) 
Возвращает true, если $a является строкой. 
r is_array($a) 
Возвращает true, если $a является массивом. 

Глава 7. Переменные, константы, выражения 123 
r is_object($a) 
Возвращает true, если $a объявлена как объект. 
r is_boolean($a) 
Возвращает true, если $a определена как логическая переменная. 
r gettype($a) 
Возвращает строки, соответственно, со значениями: array, object, integer, 
double, string, boolean или unknown type в зависимости от типа перемен- 
ной. 
Последнее значение возвращается для тех переменных, типы которых не являются 
встроенными в PHP (а такие бывают, например, при добавлении к PHP соответст- 
вующих модулей, расширяющих возможности языка). Я на них останавливаться не 
буду, т. к. в будущем наверняка появятся сотни таких модулей для PHP. 
Установка типа переменной 
Существует функция, которая пытается привести тип указанной переменной к одному 

из стандартных (например, вам может понадобиться перевести строку в целое 
число). 
Вот она. 
settype($a,$type) 
Функция пытается привести тип переменной $a к типу $type ($type — одна из 
строк, возвращаемых gettype(), кроме boolean). Если это сделать не удалось (на- 

пример, в $a "нечисловая" строка, а мы вызываем settype 
($a,"integer")), возвращает false. 
Оператор присваивания 
Сильно не ошибусь, если скажу, что нет на свете такой программы, в которой не 
было 
бы ни одного оператора присваивания. И в PHP-программе этот оператор, конечно 
же, тоже есть. Мы уже с ним встречались — это —знак равенства =: 
$имя_переменной=значение; 
Как видите, разработчики PHP пошли по линии Си в вопросе операторов присваива- 
ния (и проверки равенства, которая обозначается ==), чем, я уверен, привнесли 
свой 
вклад в размножение многочисленных ошибок. Например, если в Си мы пишем 
if(a=b) { ... } 
вместо 
if(a==b) { ... } 

Часть III. Основы языка PHP 124 
(пропуская ненароком один символ равенства), то компилятор выдаст нам по 
крайней 
мере предупреждение. Иначе обстоит дело в PHP: попробуйте как-нибудь на досуге 
написать: 
$a=0; $b=1; 
if($a=$b) echo "a e b iaeiaeiau"; else echo "a e b .acee.iu"; 
Интерпретатор даже не "пикнет", а программа восторженно заявит, что "a и b 
одина- 
ковы", хотя это, очевидно, совсем не так (дело в том, что $a=$b так же, как и 
$a+$b, 
является выражением, значение которого есть правая часть оператора присваивания,
 
равная в нашем примере 1). 
Почему разработчики PHP пошли таким путем, хотя, я уверен, отлично пони- 
мали его недостатки (двух мнений тут быть просто не может)? Что бы им стои- 
ло вместо = использовать (например, как в Паскале) :=, а вместо == — =? Я 
не знаю. Зато знаю, что в PHP есть еще несколько "ляпов" (только давайте не 
будем разжигать религиозных войн по поводу оператора == — каждый про- 
граммист волен иметь свое мнение), перенятых из Си. Так что призываю вас 
быть предельно внимательными — тут могут поджидать очень даже неприят- 
ные сюрп
 
<<-[Весь Текст]
Страница: из 287
 <<-