php shuffle() 函数可打乱数组元素顺序,但不会保留原始索引。可通过以下方法保留索引:1. 创建新数组并打乱元素;2. 使用 ksort() 函数对打乱后的数组进行排序。
PHP 数组打乱顺序后保留原始索引
PHP 提供了 shuffle()
函数,可以随机打乱数组中的元素顺序。但是,需要注意的是,此函数只会打乱元素的顺序,而不会保留原始的索引。
实战案例:
предположим, у нас есть следующий массив:
$original = ['foo', 'bar', 'baz'];
登录后复制
如果我们使用 shuffle()
函数来打乱顺序:
shuffle($original);
登录后复制
那么我们可以得到一个打乱顺序后的数组:
$shuffled = ['baz', 'bar', 'foo'];
登录后复制
现在,如果我们想保留原始的索引,可以使用以下方法:
方法 1:创建一个新的数组
我们可以先创建一个带有原始索引的新数组,然后使用 shuffle()
函数打乱其中的元素:
$newArray = array_values($original); shuffle($newArray);
登录后复制
方法 2:使用 ksort()
ksort()
函数可以根据键的值对数组进行排序。我们可以利用这个特性来保留原始索引:
ksort($shuffled);
登录后复制
以上两种方法都可以保留原始的索引,但方法 1 更简单,而方法 2 更通用。
以上就是PHP数组打乱顺序后如何保留原始元素的索引?的详细内容,更多请关注php中文网其它相关文章!