php 두 배열이 짝을 찾아 섞는 방법을 찾고 있습니다.
본문
$arr_a=[1,2,3,4,5];
$arr_b=['one','two','three','four','five']
$arr_a, $arr_b 배열을 동시에 섞는 방법을 찾고 있습니다.
예를 들어
shuffle($arr_a)
shuffle($arr_b)
shuffle로 섞으면 짝을 찾지 못합니다.
찾고자하는 해결 법은
$arr_a=[2,1,3,5,4];
$arr_b=['two','one','three','five','four']
이렇게 짝을 찾아서 섞는 방법 부탁드립니다.
답변 2
<?php
$arr_a=[1,2,3,4,5];
$arr_b=['one','two','three','four','five'];
$count = count($arr_a);
$order = range(1, $count);
shuffle($order);
array_multisort($order, $arr_a, $arr_b);
var_export($arr_a); // array ( 0 => 1, 1 => 4, 2 => 5, 3 => 3, 4 => 2, )
var_export($arr_b); // array ( 0 => 'one', 1 => 'four', 2 => 'five', 3 => 'three', 4 => 'two', )
?>
$arr=array(
array( 'a'=>1,'b'=>'one'),
array( 'a'=>2,'b'=>'two'),
...);
shuffle($arr);
답변을 작성하시기 전에 로그인 해주세요.