Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Професиональное изучение РНР для начинающих типы


Информационный Канал Subscribe.Ru


Профисиональное изучение PHP для начинающих
Тема: ТИПЫ (часть 1/2)

Содержание:

  1. Введение
  2. Булевые
  3. Целые числа
  4. Числа с плавающей точкой
  5. Строки
  6. от автора: FAQ

Введение

PHP поддерживает 8 примитивных типов (о 4-х остальных в следущем номере).
4 скалярных типа:
  » boolean
  » integer
  » число с плавающей точкой (float)
  » string
Тип переменной обычно программистом не устанавливается; напротив, он определяется РНР на этапе прогона, в зависимости от контекста, в котором эта переменная используется.

Булевые
Это самый простой тип. boolean выражает правильность значения. Значение может быть TRUE или FALSE.
Примечание: тип boolean был введён в PHP 4.
Для спецификации булева литерала используйте ключевые слова TRUE или FALSE. Оба нечувствительны к РеГиСтРу символов.
Пример: foo = True; // присваивает значение TRUE переменной $foo
Обычно вы используете какую-нибудь операцию, возвращающую boolean-значение, а затем передаёте его структуре управления.
Пример:
// == это операция, возвращающая булево значение
if ($action == "show_version") {
echo "The version is 1.23";
}

// это не обязательно:
if ($show_separators == TRUE) {
echo "<hr>\n";
}

// поскольку можно просто записать:
if ($show_separators) {
echo "<hr>\n";
}

Целые числа

integer - это число из набора Z = {..., -2, -1, 0, 1, 2, ...}
float - Числа с плавающей точкой (1.3,1.43)
Целые числа могут специфицироваться в десятеричной (база 10), 16-ричной (база 16) или 8-ричной (база 8) нотации с необязательным знаком (- или +). Если вы используете 8-ричную нотацию, первым символом числа должен быть 0 (нуль), для 16-ричной нотации первыми символами числа будут 0x.
$a = 1234; # 10-ричное число
$a = -123; # отрицательное число
$a = 0123; # 8-ричное число (экивалентно 10-ричному 83)
$a = 0x1A; # шестнадцатеричное число (экивалентно 10-ричному 26)
Размер integer зависит от платформы, хотя максимальное значение около 2 миллионов является обычным (то есть 32-битное знаковое). PHP не поддерживает беззнаковые integer.
Переполнение
Если вы специфицируете число за рамками диапазона типа integer, оно будет интерпретировано как float. Также, если вы выполняете операцию, которая даёт в результате число за пределами диапазона типа integer, будет возвращено float.

В PHP нет операции целочисленного деления. 1/2 даст float 0.5.
echo 25/7;
// на выходе: float(3.5714285714286)

Числа с плавающей точкой

echo 25/7;
// на выходе: float(3.5714285714286)

Точность "с плавающей точкой"!!! (Внимание)

Весьма часто простые дроби вроде 0.1 или 0.7 не могут конвертироваться в их внутренние двоичные представления без потери точности. Это может привести к парадоксальным результатам: например, floor((0.1+0.7)*10) обычно возвращает 7 вместо ожидаемого 8 как результат внутреннего представления приблизительного числа 7.9999999999.... Причиной является то, что невозможно точно выразить некоторые дроби в десятичной нотации конечным количеством цифр. Например, 1/3 в десятичной форме имеет вид 0.3333333... Итак, никогда не полагайтесь на точность результата с плавающей точкой до последней цифры и никогда не проверяйте равенство чисел с плавающей точкой.
Строки

string это серия символов. В PHP символ это то же самое, что и байт, то есть имеется точно 256 различных возможных символов. Это также предполагает, что в PHP нет встроенной поддержки Unicode.
Примечание: строки могут быть очень большими. Практически нет ограничений на размер строк в PHP, поэтому нет никаких причин заботиться о длине строк.

Одинарные кавычки
Простейший способ специфицировать строку - заключить её в одинарные кавычки (символ ').
Для специфицирования литеральной одинарной кавычки вам нужно мнемонизировать/escape её с помощью backslash (\), как во многих других языках. Если backslash должен появиться перед одинарной кавычкой или в конце строки, нужно его удвоить. Обратите внимание, что если вы захотите мнемонизировать любой другой символ, backslash также будет напечатан! Поэтому обычно нет необходимости мнемонизировать сам backslash.
echo 'Это простая строка.';
echo 'Вы можете также внедрять в строки символы newline, как здесь.';
echo 'Arnold once said: "I\'ll be back"';
// на выходе: ... "I'll be back"
echo 'Are you sure you want to delete C:\\*.*?';
// на выходе: ... delete C:\*.*?
echo 'Are you sure you want to delete C:\*.*?';
// на выходе: ... delete C:\*.*?
echo 'I am trying to include at this point: \n a newline';
// на выходе: ... this point: \n a newline

Двойные кавычки
Если строка заключена в двойные кавычки ("), PHP понимает большее количество escape-последовательностей (мнемоник) специальных символов:

Символы Значение
\n Символ новой строки
\r возврат каретки
\t горизонтальное табуляция
\\ обратная наклонная черта
\$ знак доллара
\" двойная кавычка
На сегодня инфо про строки хватит


FAQ

Q: Почему у меня в скриптах PHP не передаются значения переменных, переданных скрипту формой? Пробовал использовать методы и post, и get.
A: Попробуйте поставить в начале скрипта:
extract($HTTP_GET_VARS); // для метода GET
extract($HTTP_POST_VARS); // для метода POST


Внимание! : началась сборка информации для рубрики "советы РНР". Присылайте свои полезные советы и свой опыт мне на email: alksoft@ukr.net с пометкой РНР и не более 100Кб!!!


Программы использывающийся в рассылке:

Система проверки орфографии: Orfo-check v.1.0
программа-генератор: EasyPHPPro-HTMLEditor v.1.0
переконвертировано из ТХТ с помощью программы - AdSiCo2HTML
использывался синтаксис AdSiCheck v.1.0
UnRegistred: trial mode


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное