2024-05-03

PHP数组打乱顺序后如何保留原始元素的索引?

php shuffle() 函数可打乱数组元素顺序,但不会保留原始索引。可通过以下方法保留索引:1. 创建新数组并打乱元素;2. 使用 ksort() 函数对打乱后的数组进行排序。

PHP数组打乱顺序后如何保留原始元素的索引?

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中文网其它相关文章!

https://www.php.cn/faq/775021.html

发表回复

Your email address will not be published. Required fields are marked *