1. Главная / Блог / PHP / Массивы

Массивы


Нет комментариев.


Массив в PHP это упорядоченная структура данных, которая связывает значения и ключи.


Создание массива

Обычный

// 1 вариант
$myFruits = array("Apple", "Banana", "Cashew", "Mango");

//2 вариант (ассоциативный)
$myFruits = array(
"fruit1" => "Apple",
"fruit2" => "Banana",
"fruit3" => "Cashew",
"fruit4" => "Mango",
);

//3 вариант
$myFruits["fruit1"] = "Apple";
$myFruits["fruit2"] = "Banana";
$myFruits["fruit3"] = "Cashew";
$myFruits["fruit4"] = "Mango";

В ассоциативных массивах имена ключей присваиваются, их тип должен быть либо string, либо int. Значение может быть любым типом.

В других случаях ключ будет числовым с порядковым номером от нуля с прибавлением единицы.

Многомерный

// 1 вариант
$myFruits = array(
array("Apple", "Avocado", "Apricot"),
array("Banana", "Blackeberry", "Babaco"),
array("Cashew", "Cherry", "Canary melon"),
array("Mango", "Melon", "Miracle fruit"),
);

//2 вариант
$myFruits[0][0] = "Apple";
$myFruits[0][1] = "Avocado";
$myFruits[2][0] = "Cashew";
$myFruits[3][0] = "Mango";
...

Просмотр массива

В большинстве случаев вам может потребоваться распечатать массив для отладки или визуальных целей.

print_r()

Функция отображает структурированную информацию о переменной в удобочитаемом формате.

// 1 вариант
$myFruits = array("Apple", "Banana", "Cashew", "Mango");
print_r($myFruits);
//отобразит
Array ( [0] => Apple [1] => Banana [2] => Cashew [3] => Mango )


//2 вариант
$myFruits = array(
"fruit1" => "Apple",
"fruit2" => "Banana",
"fruit3" => "Cashew",
"fruit4" => "Mango",
);
print_r($myFruits);
//отобразит
Array ( [fruit1] => Apple [fruit2] => Banana [fruit3] => Cashew [fruit4] => Mango )


//3 вариант (так-же подходит для изменения массива)
$myFruits[0][0] = "Apple";
$myFruits[0][1] = "Avocado";
$myFruits[2][0] = "Cashew";
$myFruits[3][0] = "Mango";
print_r($myFruits);
//отобразит
Array ( [fruit1] => Apple [fruit2] => Banana [fruit3] => Cashew [fruit4] => Mango )

var_dump()

Отличие заключается в том, что она отображает тип данных того, что вы печатаете, включая каждый элемент массива.

// 1 вариант
$myFruits = array("Apple", "Banana", "Cashew", "Mango");
var_dump($myFruits);
//отобразит
array(4) { [0]=> string(5) "Apple" [1]=> string(6) "Banana" [2]=> string(6) "Cashew" [3]=> string(5) "Mango" }


//2 вариант
$myFruits = array(
"fruit1" => "Apple",
"fruit2" => "Banana",
"fruit3" => "Cashew",
"fruit4" => "Mango",
);
var_dump($myFruits);
//отобразит
array(4) { ["fruit1"]=> string(5) "Apple" ["fruit2"]=> string(6) "Banana" ["fruit3"]=> string(6) "Cashew" ["fruit4"]=> string(5) "Mango" }


//3 вариант
$myFruits[0][0] = "Apple";
$myFruits[0][1] = "Avocado";
$myFruits[2][0] = "Cashew";
$myFruits[3][0] = "Mango";
var_dump($myFruits);
//отобразит
array(4) { ["fruit1"]=> string(5) "Apple" ["fruit2"]=> string(6) "Banana" ["fruit3"]=> string(6) "Cashew" ["fruit4"]=> string(5) "Mango" }

Доступ к элементам массива

Чтобы получить значение, нужно указать имя ключа, если массив не ассоциативный, то порядковый номер который начинается с нуля.

// 1 вариант
$myFruits = array("Apple", "Banana", "Cashew", "Mango");
$data=$myFruits[1];
//загрузит
"Banana"


//2 вариант
$myFruits = array(
"fruit1" => "Apple",
"fruit2" => "Banana",
"fruit3" => "Cashew",
"fruit4" => "Mango",
);
$data=$myFruits["fruit3"];
//загрузит
"Cashew"


//3 вариант
$myFruits = array(
array("Apple", "Avocado", "Apricot"),
array("Banana", "Blackeberry", "Babaco"),
array("Cashew", "Cherry", "Canary melon"),
array("Mango", "Melon", "Miracle fruit"),
);
$data=$myFruits[1][2];
//загрузит
"Babaco"

Функции массива

count()

Количество значений в массиве. Длина массива.

$myFruits = array("Apple", "Banana", "Cashew", "Mango");
echo count($myFruits);//4

array_push()

Добавляет указанный элемент после последнего элемента в массиве. Через запятую можно передать два и более значения.

$myFruits = array("Apple", "Banana", "Cashew", "Mango");
array_push($myFruits, "Avocado");
print_r($myFruits); // Array ( [0] => Apple [1] => Banana [2] => Cashew [3] => Mango [4] => Avocado )

array_pop()

Удаляет элемент из конца массива. Это означает, что он может быть полезен в структурах данных на основе стека.

$myFruits = array("Apple", "Banana", "Cashew", "Mango");
array_pop($myFruits);
print_r($myFruits); // Array ( [0] => Apple [1] => Banana [2] => Cashew )

array_shift()

Удаляет первый элемент массива, а не последний. Таким образом, это полезно в структурах данных на основе очередей.

$myFruits = array("Apple", "Banana", "Cashew");
array_shift($myFruits);
print_r($myFruits); // Array ( [0] => Banana [1] => Cashew )

array_unshift()

Добавляет один или несколько элементов в начало массива.

$myFruits = array("Apple", "Banana", "Cashew");
array_unshift($myFruits, "Avocado");
print_r($myFruits); // Array ( [0] => Avocado [1] => Apple [2] => Banana [3] => Cashew )

array_splice()

Удаляет элемент из массива и заменяет его указанной заменой.

Синтаксис array_splice(массив, с какой позиции замена, сколько позиций, на что заменить)

$myFruits = array("Apple", "Banana", "Cashew");
array_splice($myFruits, 1, 1, "Avocado");
print_r($myFruits); // Array ( [0] => Apple [1] => Avocado [2] => Cashew )

Через запятую можно добавить несколько элементов.

sort()

Изменяет исходный массив, переставляя его элементы в порядке возрастания.

$myNums = [4, 2, 1, 3, 5];
sort($myNums);

print_r($myNums);
/*
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
*/

rsort()

Сортирует массив в порядке убывания.

$myNums = [4, 2, 1, 3, 5];
rsort($myNums);

print_r($myNums);
/*
Array
(
[0] => 5
[1] => 4
[2] => 3
[3] => 2
[4] => 1
)
*/

array_reverse()

Создает новый массив с элементами в обратном порядке.

$myFruitsArr = array ("Apple", "Banana", "Cashew", "Mango");
$reversedArr = array_reverse($myFruitsArr);

print_r($reversedArr);

/*
Array
(
[0] => Mango
[1] => Cashew
[2] => Banana
[3] => Apple
)
*/

array_merge()

Объединяет два или более массива.

$array1 = [1, 2, 3];
$array2 = [4, 5, 6, 7, 8];

$result = array_merge($array1, $array2);

print_r($result);
/*
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
)
*/

array_search()

Используется для поиска заданного значения в массиве. Если значение найдено, оно возвращает ключ значения.

$myFruitsArr = array(
"fruit1" => "Apple",
"fruit2" => "Banana",
"fruit3" => "Cashew",
"fruit4" => "Mango",
"fruit5" => "Avocado",
"fruit6" => "Pineapple"
);

$checkForCashew = array_search('Cashew', $myFruitsArr);

echo $checkForCashew; // fruit3

in_array()

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

$myFruitsArr1 = array("Apple", "Banana", "Cashew", "Mango");
var_dump(in_array("Banana", $myFruitsArr1)); // bool(true)
var_dump(in_array("banana", $myFruitsArr1)); // bool(false)



Нет комментариев.


Оставить комментарий

Ваше имя:

Оценка