value array_reduce(array data, string function, value initial)
Функция array_reduce (листинг 11.36) преобразует массив в одно значение посредством повторного задания пар значений функции обратного вызова. По умолчанию PHP задает первые два элемента функции обратного вызова, которая должна возвратить значение. Затем с этим значением и следующим элементом массива PHP вызывает функцию обратного вызова. Значение, указанное в необязательном аргументе initial, будет использовано PHP при первом вызове функции обратного вызова.
Листинг 11.36. Функция arrayreduce
<?php
// задать массив наименований цветов $colors = array(0xFF99FF, 0xCCFFFF, 0xFFFFEE); function maskColors($c1, $c2) {
return($c1 & $c2);
}
$color = array_reduce($colors, 'maskColors', 0xFFFFFF); $colorHTML = sprintf('#%X', $color); print('<table><tr>' .
"<td bgcolor="$colorHTML">$colorHTML</td>". '</tr></table>');
array array_reverse(array data, boolean preserve_keys)
Функция array_reverse (листинг 11.37) возвращает данные, заданные аргументом data, в обратном порядке. Элементы при этом никак не отсортированы, а просто следуют в обратном порядке. Если задать для необязательного аргумента preserve_keys значение TRUE, то будут сохраняться значения индексов (рис. 11.9).
Листинг 11.37. Функция array_reverse
<?php
$data = array(3, 1, 2, 7, 5); print_r(array_reverse($data)); print_r(array_reverse($data, TRUE));
?>
value array_search(value query, array data, boolean check_type)
Функция array_search (листинг 11.38) возвращает индекс элемента массива, заданного аргументом data, который соответствует значению, заданному аргументом query; если он не найден, возвращает значение FALSE. Если аргумент check_type имеет значение TRUE, функция возвращает результат только при совпадении типов.
Листинг 11.38. Функция array_search
<?php
$data = array(3, 1, 2, 7, 5);
if(FALSE !== ($key = array_search(3, $data, TRUE)))
{
print("3 найдено в элементе $key");
}
else
{
pri^C'Ife найдено");
}
?>
value array_shift(array stack)
Функция array_shift (листинг 11.39) возвращает первый элемент массива, удаляя его, что позволяет работать с массивом как со стеком. Функция array_unshift добавит элемент в начало массива. Функции array_pop и array_push предназначены для выполнения аналогичных операций, но с концом массива. Каждая операция сдвига соответствующим образом изменяет значения индексов.
Листинг 11.39. Функция arrayshift, arrayunshift
<?php
// задать массив наименований цветов $colors = array("red", "blue", "green"); $firstColor = array_shift($colors); // напечатать "red" print($firstColor . "n"); //распечатать цвета (0=>blue, green) print_r($colors);
array_unshift($colors, "purple", "yellow");
// распечатать цвета (0=>purple, yellow, blue, green)
print_r($colors);
?>
array array_slice(array data, integer start, integer stop)
Функция array_slice (листинг 11.40) возвращает часть массива, начинающуюся с элемента, заданного аргументом start. При задании в аргументе start отрицательного значения задается смещение относительно последнего элемента. Необязательный аргумент stop позволяет задавать количество возвращаемых элементов и место, где заканчиваются возвращаемые значения. Положительное значение этого аргумента рассматривается как максимальное количество возвращаемых элементов. Отрицательное значение аргумента stop используется для вычисления отрицательного смещения относительно последнего элемента массива. Сравните эту функцию с функциями array_merge и array_splice.
Листинг 11.40. Функция array_slice
<?php
// задать массив наименований цветов $colors = array("red", "blue", "green",
"purple", "cyan", "yellow"); // получить новый массив, состоящий из отрезка, // начиная с "green" и кончая "cyan" print_r(array_slice($colors, 2, 3));
?>
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Данные. Часть Восьмая.
28-12-2014
<< Предыдущая статья | Следующая статья >> |
PHP. Данные. Часть Седьмая. | PHP. Данные. Часть Девятая. |