training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Как обработать каждый элемент ассоциативного массива PHP

Создано: 26 декабря 2015Автор: Егор Астапов2152 просмотраСложность: легкий

Часто нужно обработать каждый элемент ассоциативного массива PHP. Тут несколько способов решения этой задачи. Вы можете использовать любой из циклов и внутреннюю функцию array_map.

Остановимся на функции array_map. Функция array_map() возвращает массив, содержащий элементы array после их обработки callback-функцией. Количество параметров, передаваемых callback-функции, должно совпадать с количеством массивов, переданным функции array_map(). Первым параметром должны быть анонимная функция, а вторым параметром массив, который будет обрабатываться. Вы можете добавить другие массивы через запятую после второго параметра. В этой функции вы должны описать анонимную функцию. Внутри тела анонимной функции должен быть ваш код. Обязательно нужно вернуть результат функции при помощи return.


$data = array(
   array('id' => 1, 'name' => 'Bob', 'position' => 'Clerk'),
   array('id' => 2, 'name' => 'Alan', 'position' => 'Manager'),
   array('id' => 3, 'name' => 'James', 'position' => 'Director')
);
$names = array_map(
   function($person) { return $person['name']; },
   $data
);
print_r($names);

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

Комментарии

реклама