$A["Petrov"] = array("name"=>"Петров П.П.", "age"=>"34", "email"=>"petrov@mail.ru");
$A["Sidorov"] = array("name"=>"Сидоров С.С.", "age"=>"47", "email"=>"sidorov@mail.ru");
?>
Многомерные массивы похожи на записи в языке Pascal или структуры в языке C.
Подробно о массивах и операциях с массивами вы можете узнать здесь
Тип object (объекты)
Объект является одним из базовых понятий объектно-ориентированного программирования. Внутренняя структура объекта похожа на хэш, за исключением того, что для доступа к отдельным элементам и функциям используется оператор ->, а не квадратные скобки.
Для инициализации объекта используется выражение new, создающее в переменной экземпляр объекта.
<?php
class foo
{
function do_foo()
{
echo "Doing foo.";
}
}
$bar = new foo;
$bar->do_foo();
?>
Подробное рассмотрение объектов производится в подразделе Классы и объекты PHP
Тип resource (ресурсы)
Ресурс - это специальная переменная, содержащая ссылку на внешний ресурс. Ресурсы создаются и используются специальными функциями. Полный перечень этих функций и соответствующих типов ресурсов смотрите здесь.
Тип NULL (пустой тип)
Специальное значение NULL говорит о том, что эта переменная не имеет значения. NULL - это единственно возможное значение типа NULL (пустой тип).
Переменная считается NULL если:
-
ей была присвоена константа NULL;
-
ей еще не было присвоено какое-либо значение;
-
она была удалена с помощью unset().
<?php
$var = NULL;
?>
Смотрите также is_null() и unset().
Псевдотип mixed (смешанный тип)
mixed говорит о том, что параметр может принимать множество (но не обязательно все) типов.
gettype(), например, принимает все типы PHP, тогда как str_replace() принимает строки и массивы.
Псевдотип number (числа)
number говорит о том, что параметр может быть либо integer, либо float.
Псевдотип callback (обратного вызова)
Некоторые функции, такие как call_user_func() или usort() принимают в качестве параметра определенные пользователем callback-функции. Callback-функции могут быть не только простыми функциями, но также методами объектов, включая статические методы классов.
PHP-функция передается просто как строка ее имени. Вы можете передать любую встроенную или определенную пользователем функцию за исключением array(), echo(), empty(), eval(), exit(), isset(), list(), print() и unset().
Приведем примеры callback функций:
<?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".