如何改组php数组,但保持索引在foreach中

时间:2015-06-21 09:34:31

标签: php arrays foreach shuffle

我有一个数组,它的数据使用foreach循环显示在网格中。 foreach的索引用作网格中每个条目的url的一部分。

<script src="https://maps.googleapis.com/maps/api/js?v=3"></script>
<div id="map_canvas"></div>
<ul></ul>

我想以随机顺序显示数组,所以我使用了shuffle(); 但索引被破坏,链接中断。 我一直在寻找2天,并尝试了许多不同类型的功能,这些功能应该保持索引不变,但没有运气。 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

更安全地随机播放数组的真实键

$keys = array_keys($arr);
shuffle($keys);
foreach($keys as $i) {

答案 1 :(得分:0)

改为改变索引:

$index = range(0, sizeof($array));
shuffle($index);
foreach ($index as $i) {
    // $array[$i], $i 
}

你明白了。