Справочник по PHP - [12]

Шрифт
Интервал


Применение пользовательской функции к элементам массива.

Синтаксис:

bool array_walk(array arr, callback function [, mixed userdata])

Функция array_walk() применяет пользовательскую функцию function к каждому элементу массива arr. В пользовательскую функцию передаются три или два (в случае, если аргумент userdata не указан) аргумента: значение текущего элемента, его индекс и аргумент userdata.

В случае, если function требует более трех аргументов, при каждом ее вызове будет выдаваться предупреждение. Чтобы блокировать выдачу этих предупреждений, поставте знак "@" перед функцией array_walk() или воспользуйтесь функцией error_reporting().

Функция function будет получать значения и индексы массива arr по занчению, т.е. не сможет вносить в него изменения. Если это необходимо, передайте аргумент arr по ссылке, указав перед его именем "&", и тогда все изменения отразяться в массиве.

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

Пример использования функции array_walk():

>

>$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");


>function test_alter(&$item1, $key, $prefix)

>{

> $item1 = "$prefix: $item1";

>}


>function test_print($item2, $key)

>{

> echo "$key. $item2
n";

>}


>echo "Before ...:n";

>array_walk($fruits, "test_print");


>array_walk($fruits, "test_alter", "fruit");

>echo "... and after:n";


>array_walk($fruits, "test_print");

?>

Приведенный пример выведет следующее:

Before ...:d. lemona. orangeb. bananac. apple... and after:d. fruit: lemona. fruit: orangeb. fruit: bananac. fruit: apple

Функция поддерживается PHP 3 = 3.0.3, PHP 4, PHP 5

Ключи и значения


array_flip


Меняет местами индексы и значения массива.

Синтаксис:

array array_flip(array arr)

Эта функция "пробегает" по массиву и меняет местами его ключи и значения. Исходный массив arr не изменяется, а результирующий массив просто возвращается. Если в массиве присутствовало несколько элементов с одинаковыми значениями, учитываться будет только последний из них.

Значения массива arr должны быть либо целыми числами, либо строковыми значениями. Иначе пара ключ / значение не будут обработаны.

Функция array_flip() возвратит FALSE, если обработка массива вызвала ошибку.

Пример использования функции array_flip():

>$trans = array_flip ($trans);

>$original = strtr ($str, $trans);


Пример использования функции array_flip():

многократное повторение значения

>

>$trans = array ("a" => 1, "b" => 1, "c" => 2);

>$trans = array_flip ($trans);

>print_r($trans);



Приведенный выше пример выведет следующее:

Array( [1] => b [2] => c)

Функция поддерживается PHP 4, PHP 5


array_keys


Возвращает список из ключей массива.

Синтаксис:

array array_keys(array arr [,mixed search_value])

Функция возвращает массив, значениями которого являются все строковые и числовые ключи массива arr. Если задан необязательный параметр search_value, то она вернет только те ключи, которым соответствуют значению search_value.

Пример испольльзования функции array_keys():

>

>$arr = array(0 => 100, "color" => "red", 15);

>print_r(array_keys($arr));


>$arr = array("blue", "red", "green", "blue", "blue");

>print_r(array_keys($arr, "blue"));


>$array = array ("color" => array("blue", "red", "green"), "size" => array("small", "medium", "large"));

>print_r(array_keys ($array));

?>

Приведенный выше пример выведет следующее:

Array( [0] => 0 [1] => color)Array( [0] => 0 [1] => 3 [2] => 4)Array( [0] => color [1] => size)

Функция array_keys() появилась в PHP 4.

Ее эквивалент для PHP 3:

>function array_keys ($arr, $term="") {

> $t = array();

> while (list($k,$v) = each($arr)) {

> if ($term && $v != $term) {

> continue;

> }

> $t[] = $k;

> }

> return $t;

>}


Функция поддерживается PHP 4, PHP 5


array_values


Удаление ассоциативных индексов массива.

Синтаксис:

array array_values(array arr)

Функция array_values() возвращает список всех значений в ассоциативном массиве arr. При этом она заменяет все строковые ключи на числовые.

Пример использования функции array_values():

>$arr = array("size" => "XL", "color" => "gold");

>print_r(array_values($arr));


Этот пример выведет:

Array( [0] => XL [1] => gold)

Функция поддерживается PHP 4, PHP 5


in_array


Осуществляет проверку массива на наличие значения.

Синтаксис:

bool in_array ( mixed needle, array haystack [, bool strict])

Функция in_array() возвратит TRUE, если в массиве haystack содержится элемент со значением needle, и FALSE в противном случае.

Если установить третий необязательный параметр strict в значение TRUE, то функция in_array() при проверке также будет сравнивать типы значений.

Замечание: Если параметр needle является строкой, то при сравнении регистр символов учитывается.

Замечание: В PHP версии ниже 4.2.0 параметр needle не мог быть массивом.

Пример использования функции in_array():

>

>$os = array("Mac", "NT", "Irix", "Linux");

>if (in_array("Irix", $os)) {

> echo "Got Irix";

>}

>if (in_array("mac", $os)) {

> echo "Got mac";

>}

?>

Второе условие не сработает, т.к. поиск в массиве идет с учетом регистра.

Пример выведет:

Got Irix

Пример использования функции in_array():


Еще от автора Неизвестный Автор
Галчонок

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Призраки ночи

В книге собраны предания и поверья о призраках ночи — колдунах и ведьмах, оборотнях и вампирах, один вид которых вызывал неподдельный страх, леденивший даже мужественное сердце.


Закат  вечности

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


mmmavro.org | День 131, Победа

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


mmmavro.org | День 132, Поэт

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Песнь о Нибелунгах

…«Песнь о Нибелунгах» принадлежит к числу наиболее известных эпических произведений человечества. Она находится в кругу таких творений, как поэмы Гомера и «Песнь о Роланде», «Слово о полку Игореве» и «Божественная комедия» Данте — если оставаться в пределе европейских литератур…В. Г. Адмони.


Рекомендуем почитать
Российские деятели украинского происхождения

В Справочнике приведены краткие биографии около 1400 российских деятелей украинского происхождения, внёсших свой вклад в развитие России. В нём помещены статьи о государственных, политических, общественных и церковных деятелях, революционерах, декабристах, полководцах, флотоводцах и военачальниках, героях войн, космонавтах, писателях, художниках, скульпторах, архитекторах, артистах театра и кино, режиссёрах, композиторах, искусствоведах, спортсменах, учёных, создателях новых технологий и техники.             Справочник через биографии деятелей освещает историю Украины и России за период с 1654 г.


Германские пехотные противотанковые средства ближнего боя

В брошюре даны описания и способы применения пехотных противотанковых средств немецкой армии, захваченных нашими войсками. Брошюра поможет нашим бойцам и командирам научиться применять эти средства против танков противника. Настоящее пособие составлено инженер-полковником Клюевым при участии инженер-полковника Панкратьева.


Монеты Китая первой половины XX века. Часть 1.

В книге в занимательной форме описывается история чеканки китайских монет с изображением политических деятелей начиная с первых лет революции до прихода к власти коммунистов. В приложении даны советы и рекомендации по переводу надписей на китайских монетах, таблицы наиболее часто встречающихся на монетах иероглифов и примеры их чтения. Книга снабжена большим количеством иллюстраций.


713 секретов производственных технологий

Форматирование файла не завершено (Stribog).Эти не только древние, но и интересные рецепты не потеряли актуальности и в нынешнее время. Правда, хочу заметить, что не все из них безопасны. Особенно те, где используется ртуть и соли тяжелых металлов (в частности это касается раздела «Парфюмерия»). Так что думайте Сами.С уважением, Сергей Каштанов.


Противотанковая мина ТМ-72 и минный взрыватель МВН-72

Руководство предназначается для изучения тактико-технических характеристик, устройства принципа действия, правил применения, хранения и транспортировки противотанковой мины ТМ-72 и минного взрывателя МВН-72.


Учимся читать в три раза быстрее за 20 минут - Лайфхакер

rufb2edit 0.0.908 сен 2015http://lifehacker.ru/2015/01/22/chitat-v-3-raza-bystree/web2fb2_201509080815_87756238791.0Учимся читать в три раза быстрее за 20 минут - ЛайфхакерИя Зорина 22 января 2015Учимся читать в три раза быстрее за 20 минутУмение быстро читать освобождает кучу свободного времени. Только представьте, вы можете в три раза быстрее справляться со всей литературой — технической, профессиональной или художественной. А теперь приятная новость: в отличие от большинства навыков, которые нужно осваивать постепенно, скорочтение доступно вам уже через 20 минут тренировки.