$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개 / 댓글 1개
채택된 답변
+20 포인트
2021-06-08 (화) 16:28:43
Copy
<?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', )
?>
답변에 대한 댓글 1개
2021-06-08 (화) 16:40:03
2021-06-08 (화) 16:38:50
$arr=array(
array( 'a'=>1,'b'=>'one'),
array( 'a'=>2,'b'=>'two'),
...);
shuffle($arr);
답변을 작성하려면 로그인이 필요합니다.
행복하세요..