RealAdmin.ru

PHP функции для работы с массивами

PHP
Категория: Кодинг
27 Окт 2014 г. в 09:24

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

И начнем с примера перебора элементов массива с выводом пары ключ/значение на экран.

$arr = array('cpu'=>'intel', 'ram'=>'kingstone', 'hdd'=>'seagate', );
for($i=0; $i<count($arr); $i++)
{
  echo key($arr)." = ".current($arr)."<br />";
  next($arr); 
}

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

function x2($n) { return $n*2; } 
$arr = array_map('x2', $arr);

Проверка вхождения элемента в массив - in_array(). В качетсве результата возвращает логическое «true» или «false».

shuffle() используется для перемешивания элементов массива в случайном порядке. Применяется не часто, но когда требуется подобное действие - очень выручает.

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

$components = array('Intel', '4 Gb', '500 Gb');
list($cpu, $ram, $hdd) = $components;
echo 'Процессор: '.$cpu.' Память: '.$ram.' Жесткий диск: '.$hdd;

Полезной является и функция explode(), позволяющая разбить строку на несколько фрагментов, каждый из которых помещается в отдельный элемент массива.

$str = "login | password | email | phone | address";
$account = explode("|", $str);

Существует и обратная функция - implode(), которая объединяет элементы массива в строку, используя для этого заданный разделитель.

Материал взят из книги Елены Бенкен «Программирование для интернета».

Теги:
PHP
Посмотрите похожее — 4
Комментарии — 0
    © REALADMIN.RU   2016 г.
    Страница сгенерирована: 0,2148 s | 10 mb.
    На каком уровне Вы играете в шахматы?
    О П Р О С
    Home Question Top