В этой теме, Pudge601 был настолько любезен, чтобы предложить решение моей проблемы: Php/MySQL random data (musical pitch) sequencesИспользование функции array_rand с многомерного массива
, заменяя статические значения для случайных единиц, я понял, как работает время цикла. Тем не менее, я все еще пытаюсь понять эту строку:
$dist = $dists[$index][array_rand($dists[$index])];
Я могу понять, когда я заменить (например)
$dist = $dists[$index][0]
который извлекает первое значение массива из одного из вложенных массивов. НО, я не вижу, как эта часть:
[array_rand($dists[$index])];
Производит одно из требуемых значений.
Это, кажется, не соответствует описанию здесь: http://php.net/manual/en/function.array-rand.php Возможно синтаксис отличается при использовании многомерного массива в этом контексте? В любом случае, я просто не понимаю. Если кто-то может помочь мне сделать перевод на «английский», я буду благодарен!
Если вы можете понять '$ dists [$ index] [0]', почему бы не '$ dists [$ index] [array_rand ($ dists [$ index])]'? В этом 'array_rand ($ dists [$ index])' возвращает число, например '0', поэтому просто замените это мысленно, и это то же самое. – deceze