在随机位置合并2个数组

时间:2018-08-20 09:44:35

标签: php arrays

某人如何合并DATEDIFF(dd,[ARRIVDAT],current_timestamp)-(dd,[DEPARTDAT],currenttimestamp) AS LengthOfStay 分散但$_array_1全局保持其原始顺序的两个数组?

我有2个数组

$_array_2

我知道这是有可能的,但是不知道从哪里开始。什么是最有效,最干净的方法?

2 个答案:

答案 0 :(得分:2)

我对您的帖子的解释是:将数组1的每个值插入数组2中的随机位置。这可以通过以下代码实现:

$_array_1 = array( 290, 188, 519 );

$_array_2 = array( 213, 702, 231, 173, 632, 711 );

foreach($_array_1 as $val) {
    array_splice($_array_2, rand(0, count($_array_2)), 0, $val);
}

print_r($_array_2); // For example: Array ( [0] => 519 [1] => 213 [2] => 290 [3] => 702 [4] => 231 [5] => 173 [6] => 632 [7] => 188 [8] => 711 )

答案 1 :(得分:1)

我看不出最终结果如何有意义,但这是您可以做的:

  1. 将第二个数组复制到合并后的数组中,
  2. 使用$insert_position = mt_rand(0, count($merged_array))将第一个数组中的值插入合并数组中的随机位置。

请注意,我没有count($merged_array) - 1并不是一个错误,因为我们还希望将数字随机添加到数组的末尾。