$A = array("a"=>"aaa", "b"=>"aaa", "c"=>"ccc");
$A = array_flip($A);
// Теперь $A===array("aaa"=>"b", "ccc"=>"c");
array_keys
Возвращает список из ключей массива.
Синтаксис :
list array_keys(array arr [,mixed search_value])
Функция возвращает список, содержащий все ключи массива arr. Если задан необязательный параметр search_value, то она вернет только те ключи, которым соответствуют значения search_value.
array_values
Удаление ассоциативных индексов массива.
Синтаксис :
list array_values(array arr)
Функция array_values() возвращает список всех значений в ассоциативном массиве arr, т.е. превращает ассоциативный массив в простой (скалярный).
Очевидно, такое действие бесполезно для списков, но иногда оправданно для хешей.
in_array
Осуществляет проверку массива на наличие значения.
Синтаксис :
bool in_array(mixed val, array arr)
Функция in_array() возвратит true, если в массиве arr содержится элемент со значением var.
array_count_values
Возвращает количество одинаковых значений массива.
Синтаксис :
array array_count_values(array arr)
Эта функция подсчитывает, сколько раз каждое значение встречается в массиве arr, и возвращает ассоциативный массив с ключами - элементами массива и значениями - количеством повторов этих элементов. Иными словами, функция array_count_values() подсчитывает частоту появления значений в массиве arr.
sizeof
Возвращает число элементов массива.
Синтаксис :
int sizeof(array arr)
Функция sizeof() возвращает количество элементов в массиве arr на подобие действия функции count().
count
Возвращает число элементов в массиве или объекте.
Синтаксис :
int count(mixed var)
Функция count() возвращает число элементов в массиве или объекте var. В случае, если var - скалярная переменная, то функция возвращает 1, если такая переменная существует, или 0, если такой переменной нет.
Надо отметить, что 0 возвращается и тогда, когда указан массив, не содержащий элементов.
Для проверки существования переменной лучше воспользоваться функцией isset().
array_sum
Возвращает сумму всех элементов массива.
Синтаксис :
mixed array_sum(array arr [, int num_req])
Эта функция возватит сумму всех числовых элементов массива. От типа значений в массиве зависит тип возвращаемого числа (integer или float).
array_rand
Производит случайную выборку индексов массива.
Синтаксис :
mixed array_rand(array arr [, int num_req])
Функция array_rand() возвращает в массиве выбранные случайным образом индексы элементов массива arr.
Аргумент num_req указывает число возвращаемых индексов. В случае, если выбирается один элемент, то возвращается не массив, а значение.
strtr
Комплексная замена в строке.
Синтаксис :
string strtr(string str, string from, string to)
string strtr(string str, array from)
В первом случае функция strtr() возвращает строку str, у которой каждый символ, присутствующий в строку from, заменяется на корреспондирующий из строки to. В случае, если строки from и to различной длины, то лишние конечные символы длинной строки игнорируются.
Во втором случае функция strtr() возвращает строку, в которой фрагменты строки str заменяются на соответствующие индексам значения элементов массива from. При этом функция пытается заменить сначало наибольшие фрагменты исходной строки и не выполняет замену в уже модифицированных частях строки. Таким бразом, теперь мы можем выполнить несколько замен сразу:
А вот как можно "отменить" действие функции HtmlSpecialChars():
$Trans=array_flip(get_html_translation_table());$st=strtr($st, $Trans);В результате мы из строки, в которой все спецсимволы заменены на их HTML-эквиваленты, получим исходную строку.
array_diff
Определение исключительного пересечения массивов.
Синтаксис :
array array_diff(array arr1, array arr2 [, array ...])
Данная функция возвращает массив, который содержит значения, имеющиеся только в массиве arr1 ( и не имеющиеся в любых других). При этом индексы не сохраняются.
array_intersect
Определение включительного пересечения массивов.
Синтаксис :
array array_intersect(array arr1, array arr2 [, array ...])
Функция array_intersect() возвращает массив, который содержит значения массива arr1, имеющиеся во всех остальных массивах. При этом индексы не сохраняются.
array_merge
Слияниемассивов.
Синтаксис :
array array_merge(array arr1, array arr2 [, array ...])
Функция array_merge() призвана устранить все недостатки, присущие оператору + для слияния массивов. А именно, она сливает массивы, перечисленные в ее аргументах, в оди большой массив и возвращает результат. Если в массивах встречаются одинаковые ключи, в результат помещается пара ключ=>значение из того массива, который расположен правее в списке аргументов. Однако это не затрагивает числовые ключи: элементы с такими ключами помещаются в конец результирующего массива в любом случае.
array_merge_recursive
Объединение сложных массивов.
Синтаксис :
array array_merge_recursive(array arr1, array arr2 [, array ...])
Функция array_merge_recursive() сильно напоминает функцию array_merge() с тем дополнением, что она может работать с многомерными и древовидными массивами, а элементы с одинаковыми строковыми индексами превращаются в подмассивы. Для числовых индексов поведение функции аналогично array_merge().
array_slice
Получение части массива.
Синтаксис :
array array_slice(array arr, int offset [, int len])
Эта функция возвращает часть ассоциативного массива arr, начиная с элемента со смещением (номером) offset от начала и длиной len (если последний параметр не задан, до конца массива).
Параметры offset и len задаются по точно таким же правилам, как и аналогичные параметры в функции substr(). А именно, если offset>0, то последовательность будет начинаться с элемента, имеющего позицию offset от начала массива, а если <0, то отсчет производится от конца массива. Надо отметить, что первый элемент имеет нулевую позицию, а последний (-1).
Если указать length>0, то это число возвращаемых в массиве элементов, а если length<0, то это позиция последнего возвращаемого элемента в массиве arr от его конца.
array_splice
Удаляет часть массива или заменяет ее частью другого массива.
Синтаксис :
array array_splice(array arr, int offset [, int len] [, int repl])
Эта функция, также как и array_slice(), возвращает подмассив arr начиная с индекса offset максимальной длины len, но, вместе с тем, она делает и другое полезное действие. А именно, она заменяет только что указанные элементы на то, что находится в массиве repl (или просто удаляет, если repl не указан). Если offset>0, то последовательность будет начинаться с элемента, имеющего позицию offset от начала массива, а если <0, то отсчет производится от конца массива. Надо отметить, что первый элемент имеет нулевую позицию, а последний (-1).
Если указать length>0, то это число возвращаемых в массиве элементов, а если length<0, то это позиция последнего возвращаемого элемента в массиве arr от его конца.
Последний пример показывает, что в качестве параметра repl мы можем указать и обычное, строковое значение, а не массив из одного элемента.
array_pad
Добавляет в массив несколько элементов.
Синтаксис :
array array_pad(array input, int pad_size, mixed pad_value)
Функция array_pad() возвращает копию массива input, в который были добавлены элементы с значениями pad_value, так, что число элементов в получившемся массиве будет равно pad_size.
Если pad_size>0, то элементы будут добавлены справа, а если <0 - то слева.
В случае, если значение pad_sizeменьше элементов в исходном массиве input, то никакого добавления не произойдет, и функция вернет исходный массив input.