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개

채택된 답변
+20 포인트

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개

빠른 답변에 너무 감사드립니다.
행복하세요..

댓글을 작성하려면 로그인이 필요합니다.

$arr=array(

array( 'a'=>1,'b'=>'one'),

array( 'a'=>2,'b'=>'two'),

...);

shuffle($arr);

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고