boolean settype(variable, string type)
Функция settype (листинг 11.16) изменяет тип переменной. Тип задается строковым аргументом и может иметь одно из следующих значений: array, bool, double, float, int, integer, null, object или string. Если тип установить не­возможно, возвращается значение FALSE. 
j Листинг 11.16. Функция settype_
<?php
$myValue = 123.45;
settype($myValue, "integer"); print($myValue);
?>

string strval(expression)
Функция strval (листинг 11.17) возвращает значение аргумента в виде строки.

j Листинг 11.17. Функция strval
<?php
$myNumber = 13; print(strval($myNumber));
?>

unset(variable)
Функция unset (листинг 11.18) удаляет переменную, освобождая при этом всю память, занятую данной переменной. Аналогичного эффекта можно добиться путем присвоения переменной значения NULL.

Листинг 11.18. Функция unset

<?php
$list= array("milk", "eggs", "sugar"); unset($list);
if(!isset($list))
{
print("Список очищен и насчитывает ");
print(count($list));
print(" элементов");
}
?>

11.2. Массивы
Функции, описанные в этом разделе, работают с массивами. Одни из них сортируют массивы, другие предназначены для поиска и выборки значений из массивов. Подробнее о массивах см. в главе 5, "Массивы".
array array(...)
Функция array (листинг 11.19) принимает список значений, разделенных запятыми, и возвращает массив, элементами которого являются эти значения. Это очень помогает при создании временных массивов, которые должны передаваться функциям. Элементы добавляются в массив, как если бы там использовались пустые квадратные скобки, что означает, что они пронумерованы последовательно начиная с нуля. Для принудительного задания индексных значений используется оператор =>. 

Листинг 11.19. Функция array

<?php
// создать массив $myArray = array(
"Name"=>"Leon Atkinson",
"Profession"=>array("Programmer", "Author"), "Residence"=>"Martinez, California"
);
?>

array array_change_key_case(array data, integer case)
Функция array_change_key_case предназначена для изменения регистра пред­ставления индексов массива. В необязательном аргументе case можно задать значение CASE_LOWER или CASE_UPPER. По умолчанию эта функция преобразует все индексы в нижний регистр. Любой неалфавитный символ будет проигнорирован. Помните, что, так как индексы массивов чувствительны к регистру, эта функция может вернуть массив с меньшим количеством элементов, чем было задано аргументом data. Когда два индекса после изменения регистра становятся идентичными, PHP сохраняет элемент, который является в массиве последним. В листинге 11.20 и на рис. 11.1 продемонстрирован такой случай.

| Листинг 11.20. Функция array_change_key_case_
<?php
$location = array('Leon Atkinson'=>,home', 'john villarreal'=>,away', 'leon atkinson'=>,away', 'Carl porter'=>,home', 'Jeff McKillop'=>'away', 'Rick Marazzani'=>'away', 'bob dibetta'=>'away', 'Joe Tully'=>'home'
);
print_r(array_change_key_case($location, CASE_UPPER));
?>
Данные
array array_chunk(array data, integer size, boolean preserve_keys)
Функция array_chunk (листинг 11.21) разбивает элементы заданного массива на подмассивы указанного размера (аргументом size). Необязательный аргумент preserve_keys сохраняет первоначальные индексы. В противном случае подмас-сивы используют для индексов целые числа начиная с нуля (рис. 11.2).

Листинг 11.21. Функция array_chunk

<?php
//задать участников игры $players = array(
'Leon Atkinson',
'John Villarreal',
'Carl Porter',
'Jeff McKillop',
'Rick Marazzani', 'Bob Dibetta', 'Joe Tully', 'John Foster'
);
// пересортировать игроков
srand(time());
shuffle($players);
// разбить игроков на две команды
$teams = array_chunk($players, count($players)/2); print_r($teams);
?>
Данные
array array_combine(array keys, array values)
Функция array_combine возвращает массив, использующий элементы первого массива, для хранения индексов, указывающих на элементы второго массива. Если массивы имеют неодинаковое количество элементов, PHP генерирует ошибку.