Языки программирования

Типы данных (переменных) в PHP

Типы данных составляют основу любого языка программирования и являются средством, с помощью которого программист представляет разные типы информации. PHP поддерживает восемь простых типов данных (переменных).

Четыре скалярных типа:

  • Тип boolean (двоичные данные)

Это простейший тип. Он выражает истинность значения — это может быть либо TRUE, либо FALSE. Чтобы определить булев тип, используйте ключевое слово TRUE или FALSE. Оба регистро-независимы.
<?php
$a = True; // присвоить $a значение TRUE
?>
  • Тип integer (целые числа)

Целое это число из множества Z = {…, -2, -1, 0, 1, 2, …}, обычно длиной 32 бита (от –2 147 483 648 до 2 147 483 647). Целые могут быть указаны в десятичной, шестнадцатеричной или восьмеричной системе счисления.
<?php
$a = 1234; // десятичное число
$a = -123; // отрицательное число
$a = 0123; // восьмеричное число 
$a = 0x1A; // шестнадцатеричное число 
?>
  • Тип float (числа с плавающей точкой или ‘double’)

Double — вещественное число довольно большой точности (ее должно хватить для подавляющего большинства математических вычислений). Числа с плавающей точкой (они же числа двойной точности или действительные числа) могут быть определены при помощи любого из следующих синтаксисов:
<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>
  • Тип string (строки)

Строка в PHP — это набор символов любой длины. Длина строки ограничена только размером свободной оперативной памяти. Строка легко может быть обработана при помощи стандартных функций, можно также непосредственно обратиться к любому ее символу.
<?
$a = "Это просто текст";
echo $a; //Выводит 'Это просто текст'
?>
Два смешанных типа:

  • Тип array (массивы)

Массив в PHP — это упорядоченный набор данных, в котором устанавлено соответствие между значением и ключом. Индекс (ключ) служит для однозначной идентификации элемента внутри массива. В одном массиве не может быть двух элементов с одинаковыми индексами.

Простой массив (список) пишется так:
<?php
// Простой способ инициализации массива
$names[0]="Апельсин";
$names[1]="Банан";
$names[2]="Груша";
$names[3]="Помидор";
// names - имя массива 
// 0, 1, 2, 3 - индексы
?>
  • Тип object (объекты)

Объект является одним из базовых понятий объектно-ориентированного программирования. Внутренняя структура объекта похожа на хэш, за исключением того, что для доступа к отдельным элементам и функциям используется оператор ->, а не квадратные скобки. Для инициализации объекта используется выражение new, создающее в переменной экземпляр объекта.
<?php
class foo
{
     function do_foo()
     {
         echo "Doing foo."; 
     }
}

$bar = new foo;
$bar->do_foo();
?>
Два специальных типа:

  • Тип resource (ресурсы)

Ресурс — это специальная переменная, содержащая ссылку на внешний ресурс. Ресурсы создаются и используются специальными функциями.

  • Тип NULL («пустой» тип)

Специальное значение NULL говорит о том, что эта переменная не имеет значения. NULL — это единственно возможное значение типа NULL (пустой тип).

Переменная считается NULL если:

  • Присвоена константа NULL;
  • Не было присвоено какое-либо значение;
  • Была удалена с помощью unset().

unset() разрушает специфицированные переменные. unset() не true-функция: это оператор. Поскольку никакое значение не возвращается, попытка получить значение unset() даст ошибку разбора.
<?php
$var = NULL;
?>
Существуют также несколько псевдотипов:

  • Псевдотип mixed (смешанный)

mixed говорит о том, что параметр может принимать множество типов, но не обязательно все.

  • Псевдотип number (числовой)

number говорит о том, что параметр может быть либо integer, либо float.

Некоторые функции принимают в качестве параметра определенные пользователем callback-функции. Callback-функции могут быть не только простыми функциями, но также методами объектов, включая статические методы классов.

PHP-функция передается просто как строка ее имени. Её можно передать в любую встроенную или определенную пользователем функцию за исключением array(), echo(), empty(), eval(), exit(), isset(), list(), print() и unset().
<?php 

// простой пример callback
function my_callback_function() {
     echo 'hello world!';
}
call_user_func('my_callback_function'); 

// примеры callback-метода
class MyClass {
     function myCallbackMethod() {
         echo 'Hello World!';
     }
}

// вызов метода статического класса 
//без создания объекта
call_user_func(array('MyClass', 'myCallbackMethod')); 

// вызов метода объекта
$obj = new MyClass();
call_user_func(array(&$obj, 'myCallbackMethod'));
?>
Сегодня мы с рассмотрели «Типы данных (переменных) в PHP». Я не стал расписывать много про каждый тип. Для каждого типа написано краткое объяснение, этого хватит для понимания данной темы. Материал необходим для самостоятельного написания простых программ на PHP в наших последущих уроках. На следующем уроке мы подробнее рассмотрим массивы в PHP. Все вопросы пишите в коментариях и я постораюсь на них ответить.
Самоучитель по PHP