Работа с массивами

Работа с массивами в PHP - это один из основных разделов в изучении данного языка программирования...

Массив - это как сборка элементов(ключ => значение) или же еще называют (индекс => элемент). Бывают ассоциативные(тут ключ это какое-то слово) и целочисленные(тут ключ это цифра). Примеры будут ниже и все станет понятно.

 

Как создать массив:


<?php
  $arr = array(
        'самолет',
        'машина',
        'велосипед'
    );

print_r($arr); // выводим на печать массив таким образом



echo "<br>";

// далее второй способ создания массива и его наполнения сразу
$arr2 = []; // создали, теперь ниже займемся его наполнением
$arr2[] = 'рубли';
$arr2[] = 'доллары';
$arr2[] = 'юани';
print_r($arr2);

 тут в квадратных скобках можно указать и цифры - как индекс, или же, если хотите наполнять ассоциативный массив, то указывать словами:

$arr3 = []; // создали, теперь ниже займемся его наполнением
$arr2['ru'] = 'рубли';
$arr2['usa'] = 'доллары';
$arr2['china'] = 'юани';
print_r($arr3);

  

 

Еще один способ создание фиксированного количества элементов массива с одинаковым наполнением :

$array = array_fill(4, 5, 'Изучаю');
print_r($array);

print_r($arr);

 Получим то, что и называется массивом, вот он так и выглядит:

Array
(
    [4] => Изучаю
    [5] => Изучаю
    [6] => Изучаю
    [7] => Изучаю
    [8] => Изучаю
)

 

Explode и Implode

Explode

explode($delimiter, $string) - функция для преобразования строки $string в массив с указанием разделителя $delimiter

$str = 'Приборы, инструменты, молоток, шуруповерт';
$arr = explode(',', $str);
print_r($arr);

 

Результат:

Array
(
    [0] => Приборы
    [1] => инструменты
    [2] => молоток
    [3] => шуруповерт
)

 

 

Implode

implode($separator, $arr) - создает из массива $arr строку, где разделителем между элементами будет $separator.

 

$arr4 = [
    'one' => 'Приборы',
    'two' => 'инструменты',
    'three' => 'молотоок',
    'four' => 'шуруповерт'
];
 
 
 $str = implode(', ', $arr4);
echo $str; // уже выводим как строку

 

Результат будет такой (индекс теряется! даже, если это ассоциативный массив):

Приборы, инструменты, молотоок, шуруповерт

 

Часто используемые функции

Количество элементов массива

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

echo count($array);

// или же, но обычно используют первую
echo sizeof($array);

 Ответ будет: конечно же цифра.

Для многомерном массива надо добавить COUNT_RECURSIVE 

 echo count($array, COUNT_RECURSIVE);

Добавление элемента в начало массива 

array_unshift($array, $value)

Добавление элемента в конец массива 

array_push($array, $value)

 

Как извлечь (удалить) первый элемент массива в PHP

Функция array_shift($arr) не только извлекает первый элемент массива, она также удаляет его из него;

print_r($arr);
$x = array_shift($arr);
print_r($arr);

 

Результат такой:

Array
(
    [0] => 1
    [1] => 46
    [2] => 24
)
Array
(
    [0] => 46
    [1] => 24
)

 При этом видите, я присвоил $x значение, которое извлек, то есть его могу и распечатать.

 

 

Как извлечь (удалить) последний элемент массива в PHP

Функция array_pop();

Работает аналогично, что выше;

 

Как вернуть часть массива

Иногда нужно оперировать только частью выборки, в этом случае нам поможет функция: 

array_slice($array, $offset, $length) возвращает часть массива начиная с индекса $offset и длиной $length.

Если нужно начать отсчет с конца массива, то нужно $offset сделать отрицательным.

! Если не указать $length, то получим все элементы, начиная с $offset и до конца.

$arr4 = [
    'one' => 'Приборы',
    'two' => 'инструменты',
    'three' => 'молоток',
    'four' => 'шуруповерт'
];

echo "Это слайс массива<br>";
$new = array_slice($arr4, 0, 2);
print_r($new);

 

Результат:

Array
(
    [one] => Приборы
    [two] => инструменты
)

 

Преобразование ассоциативного массива в целочисленный

Для этого есть функция array_values($arr);.

$arr4 = [
    'one' => 'Приборы',
    'two' => 'инструменты',
    'three' => 'молоток',
    'four' => 'шуруповерт'
];

echo "Это преобразование массива из ассоциативного в целочисленный<br>";
$new = array_values($arr4);
print_r($new);

 

Результат:

Array
(
    [0] => Приборы
    [1] => инструменты
    [2] => молоток
    [3] => шуруповерт)

 

Добавить комментарий


Защитный код
Обновить

Вы здесь: Сайтостроение Создание сайта PHP Работа с массивами