Сегодня мы рассмотрим две функции, применяемые к массивам в php. При помощи одной функции мы сможем перевернуть массив, то есть первый его элемент станет последним, а последний первым и т.д. При помощи второй функции мы перемешаем значения массива так, чтобы они расположились в случайном порядке.
Эти действия вполне могут Вам пригодиться при решении различных задач программирования, так что давайте познакомимся с данными функциями.
Работать с ними совершенно не сложно, так что данный пост будет достаточно коротким. Однако, есть и некоторые нюансы, который нужно будет учесть.
Ну что ж, давайте начнем с переворачивания массива.
Переворачивание массива в php
Чтобы перевернуть массив, познакомимся с функцией array_reverse(). После применения данной функции к определенному массиву, мы получим массив, элементы которого будут следовать в обратном порядке относительно исходного массива.
А протестировать работу данной функции достаточно просто: нам следует объявить массив, применить к нему данную функцию, после чего можно вывести результат на экран, чтобы убедиться, что элементы расположились в обратном порядке.
<? $Mass = array(1,2,3,4); $Mass = array_reverse($Mass); print_r($Mass); ?>
Результат, как мы можем видеть из скриншота, именно тот, которого мы и ожидали: последний элемент стал первым, предпоследний – вторым и т.д.
Мы проделали переворачивание с массивом-списком. А как же насчет ассоциативных массивов? Ведь в них значения элемента привязано к ключу!
И ассоциативные массивы можно спокойно переворачивать, при этом их связь с ключом не потеряется.
Давайте рассмотрим это на простом примере.
<? $Mass['one']=1; $Mass['two']=2; $Mass['three']=3; $Mass = array_reverse($Mass); print_r($Mass); ?>
Из результата выполнения данного кода (скриншот справа) можно видеть, что массив прекрасно перевернулся, но связь элементов с их ключами при этом не потеряна.
Перемешивание массива в php
Также мы можем перемешать элементы массива случайным образом. Для этого существует специальная функция shuffle().
Ее применение достаточно простое. Однако, здесь нужно запомнить один небольшой нюанс: если Вы будете применять функцию к ассоциативному массиву, то в результате получите данный массив в виде списка. То есть значения элементов массива будут перемешаны, но связь ключ-значение уже не сохранится. Результатом будет массив-список.
Давайте рассмотрим на примерах.
Для начала я перемешаю значения элементов обычного массива-списка:
<? $Mass=array(1,2,3,4); shuffle($Mass); print_r($Mass); ?>
А вот и результат! Как Вы видите, значения элементов массива расположились в случайном порядке. Причем, если Вы будете обновлять страницу, то результат будет меняться.
Теперь давайте тоже самое проделаем с ассоциативным массивом:
<? $Mass['one'] = 1; $Mass['two'] = 2; $Mass['three'] = 3; $Mass['four'] = 4; shuffle($Mass); print_r($Mass); ?>
Значение элементов массива также перемешалось случайным образом, но здесь мы уже не можем наблюдать связи ключ-значение. Массив возвращен, как список.
Вот об этом нюансе перемешивания, пожалуйста, не забывайте.
И это все, о чем я хотела рассказать Вам в этом небольшом посте. Надеюсь информация была Вам полезной, и, если Вы работаете с массивами php, то рано или поздно она Вам пригодится.
Добавляйте страничку в закладки, чтобы можно было всегда к ней вернуться и еще раз посмотреть, как работать с массивами. Также читайте другие посты, посвященные массивам php… и не только. Ссылки Вы можете видеть ниже.
Жду Ваших комментариев! Делитесь постом с друзьями при помощи социальных кнопок, которые расположены ниже, а также подписывайтесь на обновления, чтобы всегда быть в курсе новых статей и уроков.
С Вами была Анна Котельникова.
Успехов Вам и до скорых встреч в следующих публикациях!
А как перевернуть массив без этих функций, а как без доп переменной?
Add, выбрать новый порядок -это интересно, вопрос в том, как сохраняется новый массив?
как это влияет на скорость загрузки страницы?
не лучше ли выбирать хаотично уже из базы данных? (есть такая команда sql?)
Жаль, что Анна нам уже не ответит. ( умотала за кордон , родила, нашла работу..))