Ресурс ( Resource )
Ресурс представляет из себя указатель, ссылку, на внешний ресурс.
Представим автосервис с большим количеством машин, которым заливают несколько по литров масла в двигатель. Со свистом тормозов из подворотни вылетает феррари и паркуется на очередной сервисной парковке. Хозяин сервиса уже кричит рабочему, залить 5 литров масла и тычет большим пальцем в красную феррари.
Наш рабочий получает в данном случае два типа данных - число (литров масла) и указатель на машину, то-есть определение - какому именно объекту из всех вокруг нужно подлить чего-нибудь.
Подмечу, что рабочий получает от босса вовсе не саму машину, а лишь дескриптор (указатель) машины с которой предстоит работать. В php этим дескриптором является тип данных resource.
Null
Чтобы понять что такое Null нужно понять как хранит php переменные в памяти. Компьютерная память состоит из большого количества маленьких ячеек. В эти ячейки и записываются твои данные. Обращение к той или иной ячейке происходит при помощи идентификатора ячейки в памяти, её места.
На деле интерпретатор хранит связь между названием переменной и идентификатором ячейки в памяти. Мы же в свою очередь работаем с названием, вместо того чтобы самим запоминать идентификаторы ячеек, которые и без того, известны одному интерпретатору.
Когда мы присваиваем переменной значение в первый раз, интерпретатор выбирает ячейку в памяти, заносит туда наше значение и привязывает название переменной к определенному идентификатору.
Когда к названию переменной соответствует ячейка в памяти, переменная считается определенной. Пустая переменная означает что содержимое ячейки является числом ноль, строкой нулевой длины или вовсе отсутствует.
Значение Null сбрасывает привязку названия переменной к ячейке в памяти и переменной больше не соответствует никакая ячейка. Переменная просто никуда не указывает и ни к чему не ведет. В этом случае переменная считается неопределенной,
так как название есть а привязка к ячейке отсутствует.
Присвоение переменной значения null можно делать так: $a = Null;
Заметьте что слово null не взято в кавычки, потому что это не строка с текстом.
Булев тип ( Boolean )
Тип данных который включает в себя всего два значения
Правда и неправда. True и False. Используется в основном в условиях.
к примеру выражение ($a > $b) может быть правдой или не правдой.
Что это за странные типы данных которые я вижу в документации ?
mixed - обозначает что функция возвращает разные типы данных, в зависимости от обстоятельств
number - означает что возвращаемый результат представляет из себя integer или float
callback - в php функция вызывается как её название и скобочки. К примеру print().
Некоторые функции в php (к примеру call_user_func() ) принимают в качестве параметров названия функций с которыми они будут работать. в таком случае параметр формата callback которые они требуют представляют из себя строку с названием функции без скобочек. К примеру call_user_func('increment', $a);
Возможно данный аспект будет подробнее рассмотрен в разделе работы с функциями.
Вопросы и задания на усвоение материала:
1. $a = '22'; Какого типа является сейчас переменная $a ?
2. $b = $a = 7; чему равно $b ? не забудьте что читается в лева на право.
3. $a = '46'; $b = '32'; Что больше, а или б ?
4. Какой тип переменной лучше всего подойдёт для хранения результата деления 2 на 4?
5. $a = 5; $b=2.5; Какого типа данных будет результат деления А на Б ?
6. Попробуйте присвоить переменной значение +214748364900000000000000.
7. Выясните сколько это 2B в шестнадцатеричной системе ? ( Присвойте переменной значение и выведите )
7. Можно ли переменной присвоить переменную ? Если да - покажите как. Если нет, объясните почему нет.
9. $a='Вася'; $b = 'Петя'; Поменяйте местами значения переменных .
10. Создайте одномерный числовой массив с одним элементом.
Добавьте туда еще один элемент.
Добавьте туда третий элемент представляющий из себя ассоциативный массив с одним элементом.
Добавьте в этот ассоц. массив еще один элемент.
Замените первый элемент в родительском массиве на второй элемент из ассоц. массива.
11. Создайте переменную типа Resource
Ответы:
http://php.su/forum/topic.php?fo...=62&topic=16