Операции с ключами и значениями элементов массива

Операции с ключами и значениями элементов массива реализуются с помощью следующих основных функций:

bool array_key_exists(mixed key, array search)

array array_keys(array input [, mixed search_value])

array array_values(array input)

array array_flip(array trans)

array array_fill(int start_index, int num, mixed value)

array array_change_key_case(array input [, int case])

Функция array_key_exists() проверяет, существует ли в массиве элемент с заданным ключом.

Функции array_keys()и array_values() возвращают массивы, содержащие соответственно ключи и значения элементов исходного массива (если задан параметр search_value, то выбираются элементы только с заданным значением ключа).

Функция array_flip()меняет местами ключи и значения в массиве trans.

Функция array_fill() заполняет num элементов массива, начиная со start_index, заданным значением value.

Функция array_change_key_case() изменяет регистр значений ключей на нижний (если параметр case равен CASE_LOWER) или верхний (если параметр case равен CASE_UPPER). По умолчанию значения ключей переводятся в нижний регистр.

Пример 4.6.107. Использование функции array_key_exists():

Определение максимального и минимального значения числового ключа в массиве $a и вставка в массив элементов с отсутствующими ключами (значения этих элементов равны 0):

$a = array(3=>5, 1=>8, 5=>12); // Массив чисел

// Начальное максимальное значение ключа

$keyMax = -32767;

// Начальное минимальное значение ключа

$keyMin = 32767;

foreach($a as $key=>$value) // Цикл по ключам массива

{

// Определение текущего максимального

// значения ключа

if($key > $keyMax)

$keyMax = $key;

// Определение текущего минимального

// значения ключа

if($key < $keyMin)

$keyMin = $key;

}

// Цикл по элементам массива $a от минимального

// до максимального значения ключа

for($i = $keyMin; $i <= $keyMax;$i++)

// Если элемент с текущим ключом

// в массиве $a не существует

if(!array_key_exists($i, $a))

$a[$i] = 0; // Добавление элемента со значением 0

print_r($a); // Вывод нового массива

Обновленный массив $a будет иметь следующий вид:

Пример 4.6.108. Использование функций array_keys() и array_values():

Для заданного массива $a определяется массив его ключей $arrayKey и массив его значений $arrayValue:

$a = array(3=>5, 5=>8, 7=>12, 9=>5); // Массив чисел

// Получение массива ключей

$arrayKey = array_keys($a);

// Вывод массива ключей

print '$arrayKey: '; print_r($arrayKey);

// Получение массива значений

$arrayValue = array_values($a);

// Вывод массива значений

print '$arrayValue: '; print_r($arrayValue);

Выводимые массивы будут иметь следующий вид:

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

Получение массива $b, который содержит переставленные местами ключи и значения массива $a (при этом элементы массива $a, которые имеют одинаковое значение, удаляются, кроме последнего элемента):

$a = array(3=>5, 5=>8, 7=>12, 9=>5); // Массив чисел

$b = array_flip($a); // Перестановка ключей и значений

print '$b: '; print_r($b); // Вывод нового массива

Массив будет $b иметь следующие элементы:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: