AllDecay
@AllDecay
Вечно отдыхающий.

Как вывести 1 случайное значение из многомерного массива?

Перечитал документацию массивов, но так и не нашел как вытащить 1 случайное значение из многомерного массива.
Сам массив:
Array
(
    [0] => Array
        (
            [0] => /images/2016-02-11-809436.png
            [1] => /images/2016-02-11-809435.jpeg
            [2] => /images/2016-02-11-809434.jpeg
            [3] => /images/2016-02-11-809433.png
            [4] => /images/2016-02-11-809432.png
            [5] => /images/2016-02-11-809431.jpeg
            [6] => /images/2016-02-11-809430.jpeg
            [7] => /images/2016-02-11-809429.png
            [8] => /images/2016-02-11-809428.jpeg
            [9] => /images/2016-02-11-809427.png
            [10] => /images/2016-02-11-809426.jpeg
            [11] => /images/2016-02-11-809425.png
            [12] => /images/2016-02-11-809424.jpeg
            [13] => /images/2016-02-11-809423.png
            [14] => /images/2016-02-11-809422.jpeg
        )

    [1] => Array
        (
            [0] => /images/2016-02-11-809421.jpeg
            [1] => /images/2016-02-11-809420.jpeg
            [2] => /images/2016-02-11-809419.jpeg
            [3] => /images/2016-02-11-809418.jpeg
            [4] => /images/2016-02-11-809417.jpeg
            [5] => /images/2016-02-11-809416.png
            [6] => /images/2016-02-11-809415.png
            [7] => /images/2016-02-11-809414.png
            [8] => /images/2016-02-11-809412.jpeg
            [9] => /images/2016-02-11-809411.jpeg
            [10] => /images/2016-02-11-809410.jpeg
            [11] => /images/2016-02-11-809409.jpeg
            [12] => /images/2016-02-11-809408.jpeg
            [13] => /images/2016-02-11-809407.jpeg
            [14] => /images/2016-02-11-809406.jpeg
        )

)

ps. в интернете тоже не нашел способ
  • Вопрос задан
  • 535 просмотров
Решения вопроса 1
@Silm
Ну если структура массива известна и она такая как в примере, то можно:
$i = mt_rand(0, count($array) - 1);
$j = mt_rand(0, count($array[$i]) - 1);
echo $array[$i][$j];


функции array_rand() и rand() на практике выдают предсказуемые значения. Это может быть не принципиально, если, задача, например, выводить на странице сайта 1 случайное изображение каждый раз. Но если надо вывести множество изображений в случайном порядке или, скажем, распределить ряд элементов на случайные группы, то могут быть заметны паттерны.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
arutyunov
@arutyunov
Mooza.ru — Делаем сайты
var_dump($array[rand(0,1)][rand(0,14)]);

Можно 1 и 14 заменить на count($array) - 1
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы