Числа с плавающей точкой
Числа с плавающей точкой ("float", "double" или "real") могут специфицироваться с использованием следующих видов синтаксиса: $a = 1.234; $b = 1.2e3; $c = 7E-10;
Размер float зависит от платформы, хотя максимально возможна величина ~1.8e308 с точностью, грубо, 14 десятичных цифр (то есть 64 битный формат).
Строки
Строка (string) - это набор символов. В PHP символ это то же самое, что и байт, то есть имеется ровно 256 различных символов. Это также предполагает, что в PHP нет встроенной поддержки Unicode.
В PHP строки могут быть очень большими. Практически нет ограничений на размер строк в PHP, поэтому нет никаких причин заботиться о длине строк. Строка в РНР может быть определена тремя способами.
· одинарными кавычками;
· двойными кавычками;
· heredoc-синтаксисом.
Одинарные кавычки
Чтобы использовать одинарную кавычку внутри строки, как во многих других языках, перед ней нужно поставить символ обратной косой черты (\), т.е. экранировать ее. как. Если обратный слэш должен появиться перед одинарной кавычкой или в конце строки, нужно его удвоить (\\). Если внутри строки, заключенной в одинарные кавычки, обратный слэш встречается перед любым другим символом (отличным от \ и ’), то он рассматри-вается как обычный символ и выводится, как и всеостальные. Поэтому обратную косую черту необходимо экранировать, только если она находится в конце строки, перед закрывающей кавычкой.
В РНР существует ряд комбинаций символов, начинающихся с символа обратной косой чер-ты. Их называют управляющими последователь-ностями, и они имеют специальные значения, о которых расскажем позже. Так вот, в отличие от двух других синтаксисов, переменные и управ-ляющие последовательности для специальных символов, встречающиеся в строках, заключен-ных в одинарные кавычки, не обрабатываются.
<?php
echo ‘Также вы можете вставлять в строки символ новой строки таким образом, поскольку это нормально<br>';
// Выведет: Чтобы вывести ‘ надо перед ней поставить \
echo 'Чтобы вывести \‘ надо перед ней поставить \\’;
//Выведет: Вы хотите удалить С:\*.*?
echo ‘<br>Вы хотите удалить С:\\*.*?’;
//Выведет: Это не вставит: \n новую строку
echo '<br>Это не вставит: \n новую строку';
// Выведет: Переменные $expand также $either не подставляются
echo '<br>Переменные $expand также $either не подставляются';
?>
Результат:
Также вы можете вставлять в строки символ новой строки таким образом, поскольку это нормально.
Лекция 15. Основы языка РНР
Преобразование строк
Массивы
Тип Null
Тип resource (ресурсы)
Тип object (объекты)
Операторы языка
Условные операторы
Преобразование строк
Если строка выглядит как числовое значение, то результат и его тип определяется по сл. правилам:
Строка будет как число двойной точности, если она содержит любой из символов ., е или Е. В против-ном случае она будет оценена как целое число.
Далее значение определяется начальной частью строки. Если строка начинается с числовых данных, они будут использоваться в качестве значения. В противном случае значение будет равно нулю. “Е”, “е” означает экспоненту, т.е. число умножено на 10 в какой-то степени.
Преобразование строк в виде чисел
<?php
echo "Пример преобразования строк 3 <br>";
echo "------------------------------------ <br>";
$f = 1 + "10.5"; //$f имеет двойную точность (11.5)
echo "\$f = $f; тип ".gettype($f).'<br>';
$f = 1 + "-1.3e3"; //$f имеет двойную точность (-1299)
echo "\$f = $f; тип ".gettype($f)."<br>"; //gettype() выдает тип
$f = 1 + "bob-1.3e3"; //$f целое (1)
echo "\$f = $f; тип ".gettype($f)."<br>";
$f = 1 + "bob3"; //$f целое (1)
echo "\$f = $f; тип ".gettype($f)."<br>";
$f = 1 + "10 chislo"; //$f целое (11)
echo "\$f = $f; тип ".gettype($f)."<br>";
$f = "10.0 chislo " + 1; //$f имеет двойную точность (11)
echo "\$f = $f; тип ".gettype($f)."<br>";
$f = "10.0 chislo" + 1.0; //$f имеет двойную точность (11)
echo "\$f = $f; тип ".gettype($f)."<br>";
?>
Результат этого примера:
Пример преобразования строк 3
------------------------------------
$f = 11.5; тип double
$f = -1299; тип double
$f = 1; тип integer
$f = 1; тип integer
$f = 11; тип integer
$f = 11; тип double
$f = 11; тип double
Массивы
Имеется большой выбор средств для работы с массивами.
Индекс заключается в квадратные скобки. Напишем массив со строковыми данными: компьютер, Интернет, модем, монитор.
Индекс начинается с нуля. Например:
$m[0]= “компьютер”;
$m[1]= “Интернет”;
$m[2]= “модем”;
$m[3]= “монитор”;
Здесь максимальный индекс равен 4, хотя последний заполненный элемент – 3. Последний элемент $m[4]= “ ”;
Для вывода всех элементов массива составим программу:
$i=0; while ($i<count($m)) {echo $m[$i].”<br>”; $i++}
Функция count($m) выдает кол-во элементов массива.
В РНР имеется множество функций для работы с массивами.
Определить массив можно с помощью конструкции array() или непосредственно задавая значения его элементам.
array ([key] => value, [key1] => value1, ... )
Языковая конструкция array() принимает в качестве параметров пары ключ => значение, разделенные запятыми. Символ => устанавливает соответствие между значением и его ключом. Ключ может быть как целым числом, так и строкой, а значение может быть любого имеющегося в PHP типа. Числовой ключ массива часто называют индексом. Индекси-рование массива в PHP начинается с нуля. Значение элемента массива можно получить, указав после имени массива в квадратных скобках ключ искомого элемента. Если ключмассива представляет собой стандартную запись целого числа, то он рассматривается как число, в противном случае – как строка. Поэтому запись $a["1"] равносильна записи $a[1], так же как и $a["-1"] равносильно $a[-1].