Целое число (Integer)
Как вам известно, числа бывают положительные, отрицательные и в разных системах исчисления. Чаще всего подразумевается что целое это число из множества Z = {..., -2, -1, 0, 1, 2,...}.
<?php
$a = 1234; // десятичное число
$a = -123; // отрицательное число
$a = 0123; // восьмеричное число (83 в десятичной системе)
$a = 0x1A; // шестнадцатеричное число (26 в десятичной системе)
?>
Дробные числа (Float)
Числа с плавающей точкой, к примеру результата деления 7 на 3.
<?php
$a = 1.234;
$b = 1.2e3; // 1.2 * 10^3
?>
Строки (String)
Строка – это набор символов. В PHP символ это то же самое, что и байт, это значит, что возможно ровно 256 различных символов.
Замечание: Нет никаких проблем, если строка очень велика. Практически не существует ограничений на размер строк, налагаемых PHP, так что нет абсолютно никаких причин беспокоиться об их длине.
Строки в php можно определить тремя способами: одинарными кавычками, двойными кавычками и heredoc синтаксисом.
<?php
echo 'это простая строка';
echo 'Однажды Арнольд сказал: "I\'ll be back"';
// Выведет: Однажды Арнольд сказал: “I'll be back”
// Обратный слэш выполняет функцию экранирования.
Строка в двойных кавычках
Так же как и в одинарных, текст взятый в двойные кавычки это строка.
$var = "val";
Если строка определяется в двойных кавычках, либо при помощи Heredoc, переменные внутри нее обрабатываются.
Если интерпретатор встречает знак доллара ($), он захватывает так много символов, сколько возможно, чтобы сформировать правильное имя переменной. Если вы хотите точно определить конец имени, заключайте имя переменной в фигурные скобки.
<?php
$beer = 'Heineken';
echo "$beer's taste is great"; // работает
echo "He drank some $beers"; // не работает
echo "He drank some ${beer}s"; // работает
echo "He drank some {$beer}s"; // работает
?>
Heredoc – текст ведет себя так же, как и строка в двойных кавычках, при этом их не имея. Это означает, что вам нет необходимости экранировать кавычки в heredoc.
Напомню что если в строке определенной кавычками встречается кавычка, нужно сообщить php что это часть строки – экранировать кавычку. Как в примере $var=' I\'m ';
<?php
echo <<<HEREDOC1
Меня зовут "$name".
Я печатаю very$fast.
Теперь я вывожу very{$fast}.
HEREDOC1;
?>
Обратите внимание что вместо кавычек в начале и конце строки стоит название строки – HEREDOC1. <<<HEREDOC1 означает начало строки под названием HEREDOC1, а HEREDOC1; её конец.
Массив (Array)
Массив в php – это переменная которая хранит несколько элементов.
<?php
$array = Array('Первый','Второй');
?>
Необычным может показаться, что индекс массива начинает отсчет с нуля. Именно поэтому в нашем массиве нулевой элемент будет 'Сыр', а первый элемент 'Колбаса'.
<?php
$array = Array('Первый','Второй'); // массив с двумя строками
echo $array[0]; //Обращение к нулевому элементу. Выведет Первый
$array[1] = 'Третий'; // Присвоение элементу другого значения.
echo $array[1]; // Выведет «Третий».
$arr[3] = 5; // Создаётся элемент с индексом 3 и ему тут же //присваивается
?>
Если написать подобную строку $arr[] = 6;
В этом случае, создастся элемент в массиве, ему присвоится значение 6, а индекс с которым элемент запишется в массив будет максимальный целочисленные уже существующий индекс + 1.
Т.о. после $arr[3] = 5; максимальный целочисленный индекс стал 3.
При $arr[] = 6; максимальный индекс + 1 будет 4. Таким образом $arr[4] становится 6.
<?php
$arr = Array('Экзамен');
$arr[] = 'Зачет'; // Каким будет индекс у элемента «Зачет»?
/* ОТВЕТ:
Максимальный индекс будет «0»,
значит элемент массива «Зачет» будет иметь индекс «1».
*/
?>
Ассоциативные массивы
С таким же успехом как и в предыдущем примере, элементами массива могут быть не только строки, но и другие переменные.
$array = Array($var1, $var2);
У любой переменной есть название и есть значение, а это значит что в массив мы можем также записать пары данных в виде название – значение. Массив такого рода называется ассоциативным благодаря ассоциации названия и значения, а название в таком массиве называется ключом.
$arr = Array('key'=>'edit', 'key2'=>'edit2');
Таким образом в массиве нет нулевого и первого элемента, но есть элемент key и элемент key2.
<?php $arr = Array('key'=>'edit', 'key2'=>'edit2'); // Определяем массив с
// двумя строками
echo $arr['key']; // Обращение к элементу с ключом key. Выведет edit
echo $arr[0]; // Обращение к нулевому элементу. Ошибка. Нет такого
//элемента
$arr['key2'] = 'Второй'; // Присвоение элементу с ключом key2
//нового значения.
echo $arr['key2']; // Выведет «Второй».
?>
Многомерные массивы
Для создания подобных массивов используются следующие конструкции:
<?php
$arr = array("number" => array(6 => 5, 13 => 9, "a" => 42));
echo $arr["number "][6]; // 5
echo $arr["number "][13]; // 9
echo $arr["number "]["a"]; // 42
?>
Функции для работы с массивами
1) in_array (значение, имя_массива);
Функция поиска элемента в массиве. Ищет в массиве элемент значение (или индекс) которого указаны в первом аргументе функции. Функция возвращает значение TRUE либо FALSE.
Пример: Результат:
<?php
$arr = Array('one', 'two', 'three');
$fa='three';
if (in_array($fa,$arr))
{
echo "That’s ok";
}
?>
2) count(имя_массива); или sizeof(имя_массива);
Функция определяет количество элементов массива и возвращает целое значение. В качестве аргумента указывается имя массива.
Пример: Результат:
<?php
$arr = Array('one', 'two', 'three');
echo count($arr);
?>
3) sort(имя_массива, тип_сортировки);
Функция позволяет сортировать массив по возрастанию. Тип сортировки массива определяется специальной командой. Можно не указывать тип сортировки, тогда будет выбрана сортировка по умолчанию:
– SORT_REGULAR – по умолчанию
– SORT_NUMERIC – для чисел
– SORT_STRING – для символов
Пример: Результат:
<?php
$arr=Array(2,4,3,1);
for ($i=0;$i<count($arr);$i++)
{
echo $arr[$i];
echo " ";
}
?>
<br>
<?php
sort($arr,SORT_NUMERIC);
for ($i=0;$i<count($arr);$i++)
{
echo $arr[$i];
echo " ";
}
?>
4) rsort (имя_массива, тип_сортировки);
Функция позволяет сортировать массив по убыванию. Тип сортировки массива аналогично предыдущему.
5) asort (имя_массива, тип_сортировки);
Функция позволяет сортировать ассоциативный массив по возрастанию. Тип сортировки массива аналогично предыдущему.
5) arsort (имя_массива, тип_сортировки);
Функция позволяет сортировать ассоциативный массив по убыванию. Тип сортировки массива аналогично предыдущему.
6) array_push (имя_массива, элемент_1, элемент_2, …, элемент_n);
Функция позволяет добавлять элементы в конец массива.
7) array_unpush (имя_массива, элемент_1, элемент_2, …, элемент_n);
Функция позволяет добавлять элементы в начало массива.
Пример: Результат:
<?php
$arr=Array(2,4,3,1);
array_push($arr,6,5);
for ($i=0;$i<count($arr);$i++)
{
echo $arr[$i];
}
?>
8) array_pop (имя_массива);
Функция позволяет удалять последний элемент массива.
9) array_shift (имя_массива);
Функция позволяет удалять первый элемент массива.
Пример: Результат:
<?php
arr=Array(2,4,3,1);
array_pop($arr);
for ($i=0;$i<count($arr);$i++)
{
echo $arr[$i];
}
?>
10) array_mirge (имя_массива_1, имя_массива_2, имя_массива_n);
Функция позволяет удалять первый элемент массива.
Пример: Результат:
<?php
$arr=Array(2,4,3,1);
$arr1=Array(2,8,5,6);
$merg_arr = array_merge($arr,$arr1);
for ($i=0;$i<count($merg_arr);$i++)
{
echo $merg_arr[$i];
echo " ";
}
?>
10) foreach ( имя_массива as
переменная_с_индексом =>переменная_со_значением );
Функция позволяет произвести перебор массива. При каждом проходе цикла, переменная с индексом будет содержать индекс элемента массива, значение которого будет помещено в переменную со значением.
Пример: Результат:
<?php
$arr=Array(2,4,3,1);
foreach($arr as $i=>$item)
{
echo"индекс - $i ";
echo"элемент - $item<br>";
}
?>
Булев тип (Boolean)
Тип данных который включает в себя всего два значения
Правда и неправда. True и False. Используется в основном в условиях.
к примеру выражение ($a > $b) может быть правдой или не правдой.
Интерпретатор РНР автоматически определяет тип переменной на основании анализа ее содержимого.
Помните, что в РНР нельзя для сложения строковых переменных использовать символ "+" он пригоден лишь для числовых выражений. Поэтому необходимо помещать переменные в строки или использовать команду конкатенации (точку): $с = $а. $b.