php - 以同样的方式打乱2个php数组

标签 php arrays random shuffle

我有这个例子:

$array['one'][0] = 0;
$array['one'][1] = 1;
$array['one'][2] = 2;
$array['one'][3] = 3;

$array['two'][0] = 00;
$array['two'][1] = 11;
$array['two'][2] = 22;
$array['two'][3] = 33;

我怎样才能将它们都洗牌以获得类似的东西:

$array['one'][0] = 2;
$array['one'][1] = 1;
$array['one'][2] = 3;
$array['one'][3] = 0;

$array['two'][0] = 22;
$array['two'][1] = 11;
$array['two'][2] = 33;
$array['two'][3] = 00;

或任何其他随机顺序,但两者具有相同的“随机因子”?

例如,我希望将 $array['one'][0]$array['two'][0] 打乱以获得 $array['one'][x]$array['two'][x](x 是一个随 secret 钥,但 SAME在两个阵列上)。

最佳答案

$count = count($array['one']);
$order = range(1, $count);

shuffle($order);
array_multisort($order, $array['one'], $array['two']);
  • 可处理包含任何类型元素的数组(对象和数组也是如此)。
  • 这种方式可以用于任意数量的数组(不仅仅是两个)。
  • 处理重复值。
  • 整洁的代码。

关于php - 以同样的方式打乱2个php数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4911770/

相关文章:

php - 如何在 CodeIgniter 4 的助手中编写数据库查询

php - $_POST 数组到 MySQL _v2

javascript - 如何在 Javascript(或 Coffeescript)中将非嵌套 JSON 转换为嵌套 HTML 列表?

php - 如何用 php 解析 .plist 文件?

php - 显示和编辑多行(MySQL 和 PHP)

php - 更新时转空值

c - 为什么我的函数在有范围时返回如此大的随机值?

delphi - Delphi 有加密安全的 PRNG 库吗?

php - 如何将多个文件上传插入到mysql中

JAVA随机参数总是返回0