Я хочу перемешивать элементы массивов и получить одинаковые значения с помощью рандом, но в этом случае shuffle не поможет.
Вобщем код:
Код (Text):
$arr1 = [‘green’, ‘red’, ‘blue’]; $arr2 = [‘зеленый’, ‘красный’, ‘синий’]; for ($i = 0; $i < 2; $i++){ echo $arr1[$i]; #red echo $arr2[$i]; #красный } А когда обновляешь страницу for ($i = 0; $i < 2; $i++){ echo $arr1[$i]; #green echo $arr2[$i]; #зеленый }Должен рандомно получить один элемент из массива $arr1, например red, и красный из массива $arr2.
Каждый раз, когда вы обновляете страницу, вы должны получать другой результат. Но один и тот ключ из массивов.
Знаю я плохо объясняю но думаю вы поймете.
и где тут рандом?
Код (Text):
$arr1 = [‘green’, ‘red’, ‘blue’]; $arr2 = [‘зеленый’, ‘красный’, ‘синий’]; $random = rand(0, count($arr1) — 1); echo $arr1[$random]; #red echo $arr2[$random]; #красный
Добрый день!
shuffle поможет. Но один и тот ключ из массивов, м.б., например, 0:PHP:Удачи!
Нет. Так не сработает.
Если нужен аналог задуманного вами, то можно как-то такPHP:
Добрый день!
Мой код работает, также как ВашЯ показал, пары значений, которые выдаются при перезагрузки скрипта.
Разница в том, что в Вашем коде вычисляется рандомный ключ, в моём shuffle рандомно переставляет элементы массивов,
а ключ «один и тот ключ из массивов»(см. solo27) ключ=0
Результат такой же как у ВасPHP:
echo $arr1[0]; #red echo $arr2[0]; #красныйУдачи!
Нет.
Хотя… ОК. Я могу предположить, что в какой-то из прошлых версий PHP перемешивание двух одинаковых по длине массивов было идентичным. Маловероятно, но возможно…
Сейчас это не будет работать 100%, алгоритм был изменен
Это легко проверить.
Песочница с выбором версий
проверил на PHP 8.1. Вы правы. Это не работает.
Удачи!
Ну, ТС, изначально, пошел по неправильному пути. Второй массив ему надо было сделать ассоциативным.
https://www.php.net/manual/en/function.array-rand.php
Да, хорошая вещь, но в полной мере её ценность осознается когда умеешь и без неё. Начинающим её лучше не советовать, пускай циклы освоит.
Зачем изобретать велосипед из говна и палок, когда существует уже готовое в ДОКУМЕНТАЦИИ ПО PHP
Всегда восхищался вашими категоричностью утверждений, чуждостью сомнений и радикальностью суждений.