- Работа с массивами PHP – создание, наполнение, удаление
- Создание массивов
- Создать массив и заполнить его значениями
- Результат:
- Результат:
- Узнать количество элементов в массиве
- Добавление элементов в массив
- Добавить значение в начало массива
- Результат:
- Добавить значение в конец массива
- Результат:
- Работа с ключами массива
- Поучить первый ключ массива
- Поучить последний ключ массива
- Переопределить ключи массива
- Результат:
- Результат:
- Получение элементов из массива
- Получить первый элемент массива
- Получить последний элемент массива
- Получить часть (срез) массива
- Результат:
- Извлечь первый элемент массива
- Результат:
- Извлечь последний элемент массива
- Результат:
- Извлечь часть массива
- Результат:
- Выбрать все значения из массива
- Результат:
- Выбрать все ключи массива
- Результат:
- Выбирать случайные значения из массива
- Поиск и проверка элементов в массиве
- Проверить, есть ли значение в массиве
- Проверить, есть ли ключ в массиве
- Удаление элементов из массива
- Результат:
- Удаление пустых значений
- Результат:
- Удалить повторяющиеся значения массива
- Результат:
- Объединение массивов
- Результат:
- Разделить массив на части
- Результат:
- Результат:
- Заполнить массив случайными числами (PHP)
- Функция array_fill_rand()
- Категории
- Читайте также
- Комментарии
- Вход на сайт
- Социальные сети
- PHP array_rand() Function
- Syntax
- Parameter Values
- Technical Details
- More Examples
- Example
- Example
- COLOR PICKER
- Report Error
- Thank You For Helping Us!
Работа с массивами PHP – создание, наполнение, удаление
Основные примеры работы с массивами PHP. Создание, наполнение, извлечение удаление значений.
Создание массивов
Создать массив и заполнить его значениями
$array = array( 'яблоко', 'апельсин', 'виноград' ); // или $array = array(); $array[] = 'яблоко'; $array[] = 'апельсин'; $array[] = 'виноград';
Можно применить функцию array_fill($start, $size, $value) , которая создаст массив с количеством $size элементов со значением $value , начиная с индекса $start .
Данный пример создает массив с тремя элементам «текст», ключи которых будут начинаться с нуля.
$array = array_fill(0, 3, 'текст'); print_r($array);
Результат:
Array ( [0] => текст [1] => текст [2] => текст )
Еще вариант – функция explode($delimiter, $string) , которая из строки $string создаст массив используя разделитель $delimiter , в данном примере запятая.
$array = explode(',', 'текст 1,текст 2,текст 3'); print_r($array);
Результат:
Array ( [0] => текст 1 [1] => текст 2 [2] => текст 3 )
Узнать количество элементов в массиве
echo count($array); // или echo sizeof($array);
Если массив ассоциативный (многомерный), то count() вернёт количество элементов только первого уровня. Чтобы получит количество всех элементов нужно использовать константу COUNT_RECURSIVE .
$array = array( array( 'яблоко', 'апельсин', 'виноград' ), array( 'яблоко', 'апельсин', 'виноград' ) ); echo count($array); // вернет 2 echo count($array, COUNT_RECURSIVE); // вернет 8
Добавление элементов в массив
Добавить значение в начало массива
array_unshift($array, $value) – добавляет одно или несколько элементов в начало массива.
$array = array( 'яблоко', 'апельсин', 'виноград' ); array_unshift($array, 'банан'); print_r($array);
Результат:
Array ( [0] => банан [1] => яблоко [2] => апельсин [3] => виноград )
Добавить значение в конец массива
array_push($array, $value) – добавляет значение в конец массива.
$array = array( 'яблоко', 'апельсин', 'виноград' ); array_push($array, 'банан'); // или $array[] = 'банан'; print_r($array);
Результат:
Array ( [0] => яблоко [1] => апельсин [2] => виноград [3] => банан [4] => банан )
Работа с ключами массива
Поучить первый ключ массива
Функция array_key_first($array) — получает первый ключ массива. Появилась в версии PHP 7.3, для более ранних версий:
if (!function_exists('array_key_first')) < function array_key_first(array $arr) < foreach($arr as $key =>$unused) < return $key; >return null; > >
$array = array( 1 => 'яблоко', 3 => 'апельсин', 5 => 'виноград' ); echo array_key_first($array); // 1
Поучить последний ключ массива
Функция array_key_last($array) — получает последний ключ массива. Появилась в версии PHP 7.3, для более ранних версий:
if (!function_exists('array_key_last')) < function array_key_last($array) < if (!is_array($array) || empty($array)) < return NULL; >return array_keys($array)[count($array) - 1]; > >
$array = array( 1 => 'яблоко', 3 => 'апельсин', 5 => 'виноград' ); echo array_key_last($array); // 5
Переопределить ключи массива
К примеру, после удаления элемента массива сбивается нумерация ключей и нужно назначить новую нумерацию:
$array = array( 1 => 'яблоко', 3 => 'апельсин', 5 => 'виноград' ); $new = array_values($array); print_r($new);
Результат:
Array ( [0] => яблоко [1] => апельсин [2] => апельсин )
Начало нумерации ключей с единицы:
$array = array( 1 => 'яблоко', 3 => 'апельсин', 5 => 'виноград' ); $new = array_combine(range(1, count($array)), $array); print_r($new);
Результат:
Array ( [1] => яблоко [2] => апельсин [3] => апельсин )
Получение элементов из массива
Получить первый элемент массива
$array = array( 'яблоко', 'апельсин', 'виноград' ); reset($array); $first = current($array); // яблоко
Получить последний элемент массива
$array = array( 'яблоко', 'апельсин', 'виноград' ); $end = end($array); // виноград
Получить часть (срез) массива
array_slice($array, $offset, $length) возвращает часть массива начиная с индекса $offset длиной $length .
- Если $offset отрицательный, то отчет начинается с конца массива.
- $length можно не указывать, тогда функция вернет все элементы до конца массива начиная с индекса $offset .
$array = array( 'яблоко', 'апельсин', 'виноград' ); $new = array_slice($array, 0, 2); print_r($new);
Результат:
Array ( [0] => яблоко [1] => апельсин )
Извлечь первый элемент массива
array_shift($array) – извлекает первый элемент из массива $array и возвращает его значение.
$array = array( 'яблоко', 'апельсин', 'виноград' ); $first = array_shift($array); // яблоко print_r($array);
Результат:
Array ( [0] => апельсин [1] => виноград )
Извлечь последний элемент массива
array_pop($array) – извлекает последний элемент из массива $array и возвращает его значение.
$array = array( 'яблоко', 'апельсин', 'виноград' ); $end = array_pop($array); // виноград print_r($array);
Результат:
Array ( [0] => яблоко [1] => апельсин )
Извлечь часть массива
Чтобы извлечь из массива часть можно применить функции array_slice() и array_diff() .
$array = array( 'яблоко', 'апельсин', 'виноград' ); $new = array_slice($array, 0, 2); $array = array_diff($array, $new); print_r($new); print_r($array);
Результат:
Array ( [0] => яблоко [1] => апельсин ) Array ( [2] => виноград )
Выбрать все значения из массива
array_values($array) – создает новый массив из исходного $array игнорируя его ключи.
$array = array( 'key 1' => 'яблоко', 'key 2' => 'апельсин', 'key 3' => 'виноград' ); $new = array_values($array); print_r($new);
Результат:
Array ( [0] => яблоко [1] => апельсин [2] => виноград )
Выбрать все ключи массива
array_keys($array) – создает новый массив состоящий из ключей исходного массива.
$array = array( 'key 1' => 'яблоко', 'key 2' => 'апельсин', 'key 3' => 'виноград' ); $new = array_keys($array); print_r($new);
Результат:
Array ( [0] => key 1 [1] => key 2 [2] => key 3 )
Выбирать случайные значения из массива
array_rand($array, $count) возвращает случайным образом один или несколько ключей из массива $array . Если $count больше единицы, то результат будет в виде массива.
$array = array( 3 => 'яблоко', 1 => 'апельсин', 5 => 'виноград' ); echo $array[array_rand($array)];
Поиск и проверка элементов в массиве
Проверить, есть ли значение в массиве
$array = array( 'яблоко', 'апельсин', 'виноград' ); if (in_array('апельсин', $array)) < echo 'Найдено значение "апельсин"'; >// или if (array_search('апельсин', $array) !== false)
Проверить, есть ли ключ в массиве
$array = array( 1 => 'яблоко', 2 => 'апельсин', 3 => 'виноград' ); if (array_key_exists(2, $array)) < echo 'Найден ключ 2'; >// или if (isset($array[2]))
Удаление элементов из массива
unset() – удаляет переменные и элементы массива по ключу.
В первом примере элемент удаляется по ключу, во втором по значению:
$array = array( 'яблоко', 'апельсин', 'виноград' ); // Удаление по ключу unset($array[1]); // Удаление по значению unset($array[array_search('апельсин', $array)]); print_r($array);
Результат:
Array ( [0] => яблоко [2] => виноград )
Удаление пустых значений
В PHP нет отдельной функции для удаления пустых значений в массиве, поэтому применяют array_diff() которая возвращает расхождения массивов.
$array = array( 'яблоко', '', 'виноград' ); $array = array_diff($array, array('')); print_r($array);
Результат:
Array ( [0] => яблоко [2] => виноград )
Если требуется удалить значения включая 0 , null , array() и т.д. можно применить следующее:
$array = array_diff($array, array('', ' ', null, 0, array()));
Удалить повторяющиеся значения массива
$array = array( 'яблоко', 'яблоко', 'апельсин', 'виноград' ); $array = array_unique($array); print_r($array);
Результат:
Array ( [0] => яблоко [2] => апельсин [3] => виноград )
Объединение массивов
Объединить два и более массивов поможет функция array_merge($array_1, $array_2, . ) .
$array_1 = array( 'яблоко', 'апельсин', 'виноград' ); $array_2 = array( 'помидор', 'огурец', ); $new = array_merge($array_1, $array_2); print_r($new);
Результат:
Array ( [0] => яблоко [1] => апельсин [2] => виноград [3] => помидор [4] => огурец )
Разделить массив на части
array_chunk($array, $size) – создает новый многомерный массив из исходного, деля его на равные части.
В данном примере указано $size = 3 , поэтому получается четыре подмассива в каждом из которых по три элемента.
$array = array( 'январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'ноябрь', 'декабрь', ); $array = array_chunk($array, 3); print_r($array);
Результат:
Array ( [0] => Array ( [0] => январь [1] => февраль [2] => март ) [1] => Array ( [0] => апрель [1] => май [2] => июнь ) [2] => Array ( [0] => июль [1] => август [2] => сентябрь ) [3] => Array ( [0] => ноябрь [1] => декабрь ) )
Если требуется разделить массив на определенное количество частей поможет следующий прием:
$array = array( 'январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'ноябрь', 'декабрь', ); $array = array_chunk($array, ceil(count($array) / 3)); print_r($array);
Результат:
Array ( [0] => Array ( [0] => январь [1] => февраль [2] => март [3] => апрель ) [1] => Array ( [0] => май [1] => июнь [2] => июль [3] => август ) [2] => Array ( [0] => сентябрь [1] => ноябрь [2] => декабрь ) )
Заполнить массив случайными числами (PHP)
В PHP нет стандартной функции для генерации массива случайными числами. Самый простой способ написать функцию array array_fill_rand(int limit, [ min, max]) , которая принимает в качестве параметров: int limit — количество элементов массива и два необязательных параметра int min и int max — минимальное и максимальное значение элемента массива.
Функция array_fill_rand()
Напишем функцию array_fill_rand() и приведем пример использования.
> else < for ($i=0; $i> return $array; > echo ‘
'; // Массив из 5 элементов $rand_array = array_fill_rand(5); print_r($rand_array); // Массив из 10 элементов $rand_array = array_fill_rand(10); print_r($rand_array); // Массив из 5 элементов, со случайными числами в диапазоне от 0 до 10 $rand_array = array_fill_rand(5, 0, 10); print_r($rand_array); // Массив из 10 элементов, со случайными числами в диапазоне от -100 до 100 $rand_array = array_fill_rand(10, -100, 100); print_r($rand_array); echo '
‘; ?>?php>
В результате на экране появится 4 массива заполненные случайными числами, например:
Array ( [0] => 12563 [1] => 24400 [2] => 9545 [3] => 20046 [4] => 19311 ) Array ( [0] => 8316 [1] => 19717 [2] => 346 [3] => 12171 [4] => 18536 [5] => 13441 [6] => 22822 [7] => 14695 [8] => 788 [9] => 6077 ) Array ( [0] => 8 [1] => 0 [2] => 5 [3] => 9 [4] => 8 ) Array ( [0] => 73 [1] => -49 [2] => -98 [3] => 83 [4] => -73 [5] => -57 [6] => 0 [7] => 37 [8] => 16 [9] => 40 )
Категории
Читайте также
- Заполнить массив случайными числами (JavaScript)
- Умножить массив на число (PHP)
- Преобразовать массив в объект (PHP)
- Цикл в обратном порядке (PHP)
- Массив уникальных значений (JavaScript)
- Ассоциативный массив в JavaScript
- Как записать массив в файл (PHP)
- Получить последнее значение массива (PHP)
- Получить первое значение массива (PHP)
- Массив в строку (JavaScript)
- Получить массив ключей (PHP)
- Сортировать числовой массив (JavaScript)
Комментарии
Автору статьи ставлю Like!.
Описано все предельно ясно; без «лишней воды» так сказать. Несмотря на то что я начал изучать php совсем недавно все что описано выше мне понятно и функцию эту я нахожу очень полезной и простой в понимании.
Спасибо что выложил статью и тем самым поделился опытом. Так что мне теперь понятно как реализовать рандомное заполнение значений элементов массива, да еще и с ограничением допустимых мин и мах значений.
Вход на сайт
Введите данные указанные при регистрации:
Социальные сети
Вы можете быстро войти через социальные сети:
PHP array_rand() Function
The array_rand() function returns a random key from an array, or it returns an array of random keys if you specify that the function should return more than one key.
Syntax
Parameter Values
Parameter | Description |
---|---|
array | Required. Specifies an array |
number | Optional. Specifies how many random keys to return |
Technical Details
Return Value: | Returns a random key from an array, or an array of random keys if you specify that the function should return more than one key |
---|---|
PHP Version: | 4+ |
PHP Changelog: | PHP 7.1: rand() uses the Mersenne Twister random number generator PHP 5.2.1: The resulting array of keys is no longer shuffled PHP 4.2: The random number generator is seeded automatically |
More Examples
Example
Return a random key from an array:
Example
Return an array of random string keys:
COLOR PICKER
Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
Thank You For Helping Us!
Your message has been sent to W3Schools.
Top Tutorials
Top References
Top Examples
Get Certified
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.