Что такое Ассоциативный массив, вывод на экран, примеры
"Ассоциативный массив в php", что такое "Ассоциативный массив в php", как создать ассоциативный массив , как вывести Ассоциативный массив на экран, добавить в ассоциативный массив , записать ассоциативный массив в файл.
Подробно об "ассоциативном массиве в php"
- Что такое ассоциативный массив в php
Пример самого простого "ассоциативный массив" в php- Как сделать вывод "ассоциативного массива" php
Пример многомерного "ассоциативного массива" в php- Как вывести ассоциативный массив через цикл
- Как вывести все
ключи ассоциативного массива!? - Вывод значения определенного ключа ассоциативного массива
- Вывод значения определенной ячейки ассоциативного массива ->
второго уровня - Вывод значения по номеру ключа ассоциативного массива
- Заменить значение по ключу ассоциативного массива
- Как добавить в ассоциативный массив
- Как удалить из ассоциативного массива
- Как переименовать ключ в ассоциативном массиве
- Получить первую ячейку ассоциативного массива
Что такое Ассоциативный массив в php
Ассоциативный массив это : абстрактный тип данных, позволяющий хранить пары вида «(ключ, значение)» и поддерживающий операции добавления пары, а также поиска и удаления пары по ключу.
Сравним простой и ассоциативный массив.
Мы рассматривали простые одномерные массивы вида:
$arr = array('Первая', 'Вторая', 'Третья', 'Четвертая', 'Пятая', 'шестая' );
Выводим с помощью print_r :
Array
(
[0] => Первая
[1] => Вторая
[2] => Третья
[3] => Четвертая
[4] => Пятая
[5] => шестая
)
Теперь посмотрим на ассоциативный массив:
Одномерный ассоциативный массив :
Если мы посмотрим на одномерный ассоциативный массив. то заметим некоторую разницу между ранее приведенным простым и данным массивом.
Вместо ключей, находятся слова. Поэтому данные массивы называются "ассоциативными".
(
[имя] => Марат
[рост] => 178
[вес] => 93
)
Пример самого простого Ассоциативного массив в php
Как создается ассоциативный массив!? Записывается переменная, в которую складывают array далее пара круглых скобок и записывают
Если выводить здесь вид массива, то:
Если в значении ассоциативного массива применяется два слова, например так:
То возникнет ошибка типа:
Чтобы не возникала данная ошибка ассоциативного массива, то нужно заключить строку с пробелом в кавычки!
Так, обычно, ассоциативный массив в строку не записывают - это просто неудобно... пишут каждую новую ячейку с новой строки:
$цена = array ("помидоры" => 15,
"огурцы" => 12,
"ключ" => "два слова"
);
Как сделать вывод ассоциативного массива php
Как вывести ассоциативный массив в php на экран!? Нам потребуется выше описанный массив, не сам массив а переменная и функция print_r, которая сможет вывести ассоциативный массив на экран:
Результат вывода ассоциативного массива в php
Результат:
Array
(
[помидоры] => 15
[огурцы] => 12
[ключ] => слово_два
)
Пример многомерного "ассоциативного массива" в php
Объединим сразу и многомерный ассоциативный массив и вывод данного массива ! Далее мы видим, что внутри одного массива array , находится несколько других ассоциативных массива array !
Вывод ассоциативного массива с помощью print_r
Для того, чтобы вывести какой-то ассоциативный массив на экран, его нужно сделать, давайте возьмем вот такой:
$array = array (
"Иванов" => array ("рост" => 174, "вес" => 68),
"Аминев" => array ("имя" => Марат,"рост" => 178, "вес" => 93),
"Сидоров" => array ("рост" => 166, "вес" => 73));
Теперь, применим функцию print_r к нашему ассоциативному массиву:
И выведем результат работы print_r с ассоциативным массивом прямо здесь:
Array
(
[Иванов] => Array
(
[рост] => 174
[вес] => 68
)
[Аминев] => Array
(
[имя] => Марат
[рост] => 178
[вес] => 93
)
[Сидоров] => Array
(
[рост] => 166
[вес] => 73
)
)
Как вывести ассоциативный массив через цикл
Возьмем тот же ассоциативный массив , что мы выводили выше :
Вывод из массива ячейки под именем рост:
foreach ($array as $key => $value)
{
echo $array [$key]["рост"].'<br>';
}
Результат:
178
166
Это было просто! Давайте все, что есть в массиве выведем через foreach .. начиная с ключа, до значений..
$array_keys = ( array_keys ($array ));
$i =0;
foreach ($array as $key => $value)
{
echo 'имя ключа ='. $array_keys[$i].' | , значение ячейки рост = '. $array [$key]["рост"]. ' | , значение ячейки вес = '. $array [$key]["вес"].'<br>';
$i++;
}
Результат:
имя ключа =Аминев | , значение ячейки рост = 178 | , значение ячейки вес = 93
имя ключа =Сидоров | , значение ячейки рост = 166 | , значение ячейки вес = 73
Как вывести все ключи ассоциативного массива!?
Опять возьмем выше идущий ассоциативный массив и применим к нему функцию array_keys :
Результат вывода всех ключей ассоциативного массива
Array
(
[0] => Иванов
[1] => Аминев
[2] => Сидоров
)
Вывод значения определенного ключа ассоциативного массива
Мы знаем, что одна ячейка массива равна фамилии = "Аминев", мы хотим её получить! И вывести на экран!
Это делается очень просто! пишем наш ассоциативный массив, далее квадратные скобки и внутри записываем эту фамилию, и нам остается только вывести определенную ассоциативного массива:
Результат вывода определенной ячейки ассоциативного массива
Array
(
[имя] => Марат
[рост] => 178
[вес] => 93
)
Вывод значения ячейки ассоциативного массива -> второго уровня
Выше я рассмотрел ассоциативный массив типа:
Array
(
[Иванов] => Array
(
[рост] => 174
[вес] => 68
)
[Аминев] => Array
(
[имя] => Марат
[рост] => 178
[вес] => 93
)
[Сидоров] => Array
(
[рост] => 166
[вес] => 73
)
)
И предположим, что мы знаем, значение ключа первого уровня(["Аминев"]), предположим, что массив второго уровня имеет ключ имя, чтобы вывести значение этой ячейки ассоциативного массива, надо соорудить такую конструкцию:
Вывод значения ячейки ассоциативного массива -> второго уровня
Вывод значения по номеру ключа ассоциативного массива
Тот же самый ассоциативный массив:
Array
(
[Иванов] => Array
(
[рост] => 174
[вес] => 68
)
[Аминев] => Array
(
[имя] => Марат
[рост] => 178
[вес] => 93
)
[Сидоров] => Array
(
[рост] => 166
[вес] => 73
)
)
Предположим, что мы не знаем имя ключа в ассоциативном массиве, но нам нужно получить вторую(по счету) ячейку данного массива, мы можем опять воспользоваться функцией и в неё поставить значение второй ячейки - это как вы уже догадались число
Вывод значения по номеру ключа ассоциативного массива
Array
(
[имя] => Марат
[рост] => 178
[вес] => 93
)
Заменить значение по ключу ассоциативного массива
Ассоциативный массив всё тот же...:
Array
(
[Иванов] => Array
(
[рост] => 174
[вес] => 68
)
[Аминев] => Array
(
[имя] => Марат
[рост] => 178
[вес] => 93
)
[Сидоров] => Array
(
[рост] => 166
[вес] => 73
)
)
Предположим, что перед нами стоит задача изменить значение ячейки ассоциативного массива по ключу! Ключ давайте выберем
$array_new["Аминев"]["имя"] = '<red>Здесь новое значение</red>';
Не будем выводить весь массив, выведем только ячейку массива:
Результат изменения значения ячейки ассоциативного массива по ключу
Array
(
[имя] =>[рост] => 178
[вес] => 93
)
добавить в ассоциативный массив
Ка можно добавить новый элемент в ассоциативный массив, здесь нужно понимать на какой уровень вы хотите добавить новый элемент, выберем для примера, мы хотим добавить какое-то значение массивуДобавляем к данному массиву новый ключ(
Опять же... не будем выводить весь массив, выведем только ячейку массива:
Результат добавления новой ячейки в ассоциативный массив
Array
(
[имя] =>[рост] => 178
[вес] => 93
[новый_ключ] =>)
Как удалить ячейку/элемент в ассоциативный массив
Для удаления ячейки ассоциативного массива нам потребуется...:
Собственно массив, который мы возьмем выше. Именно в таком виде.
Далее нам потребуется функция {unset}. Применяем её к той ячейке "ассоциативного массива", который мы хотим удалить:
И далее выведем этот же массив с помощью print_r:
Разместим данный код прямо здесь и посмотрим, что у нас получилось!
Результат удаления ячейки/элемента в ассоциативный массив
Array
(
[имя] =>[рост] => 178
[новый_ключ] =>)
Как переименовать ключ в ассоциативном массиве
Итак... предположим, что нам нужно изменить имя ключа, без изменения его значения.
К сожалению в случае переименования ключа в ассоциативном массиве , нет никакой такой замечательной функции rename_key_array.
Поэтому,
Сверху у нас есть массив и там же есть ячейка "$array["Аминев"]["рост"]" - выведем её с помощью echo $array["Аминев"]["рост"]; :
178
Из результата мы можем сделать вывод, что ключ массива ["рост"] - существует и его значение - 178
Переименуем ключ массива:
Для того, чтобы переименовать ключ массива, нам нужно :
Создаем новый ключ :
Ему присваиваем значение ключа , который разбирали выше...
Старый ключ со значением удаляем:
Теперь, мы можем вывести значение переименованного ключа:
Результат:
Выведем полностью массив с помощью print_r($array);
Результат переименовывания ключа в ассоциативном массиве
Array
(
[имя] =>[newkey] => 178
)
Получить первую ячейку ассоциативного массива
Как получить "первую ячейку ассоциативного массива"?
Для этого вам понадобится массив(ассоциативный) который вы уже видели выше($цена)...
Array
(
[помидоры] => 15
[огурцы] => 12
[ключ] => слово_два
)
Первая ячейка ассоциативного массива с помощью array_shift.
Получить первую ячейку ассоциативного массива с помощью array_shift
Если вам нужен первоначальный массив, тто поступаем так:
И далее вы без боязни можете получить первую ячейку ассоциативного массива:
Выведем с помощью print_r
print_r($first);
Вывод значения первой ячейки ассоциативного массива:
Далее... размещаем приведенный код прямо здесь:
15
Получить первую ячейку ассоциативного массива "current"
Для того, чтобы получить первую ячейку массива можно использовать current для этого вам понадобится...
Массив $цена тот же самый...
Array
(
[помидоры] => 15
[огурцы] => 12
[ключ] => слово_два
)
Применяем к переменной "current" и выводим с помощью echo
Вывод первой ячейки ассоциативного массива с помощью current.
15
Первая ячейка ассоциативного массива с помощью reset
Абсолютно тоже самое, что им в предыдущем пункте... только используем "reset"
Вывод значения первой ячейки ассоциативного массива с помощью reset
15
