$arr1 = array(
"William",
"Henry",
"Filbert",
"John",
"Pat",
);
$arr2 = array(
"Smith",
"Jones",
"Winkler",
"Cooper",
"Cline",
);
我想将这两个数组合并为一个数组以获得First Name => Last Name
组合。现在我不想只循环一个数组然后另一个数组。我想从$ arr1中随机选择名字,然后从$ arr2中随机选择姓氏并将它们组合起来。
我的方法是:
shuffle($arr1);
shuffle($arr2);
$arr3 = array_combine($arr1, $arr2);
我的方法是正确的还是更好的方法?我还需要一种处理重复值的方法。
答案 0 :(得分:1)
shuffle( $arr1 );
shuffle( $arr2 );
$out = array_map( function( $a, $b ) { return array( 'first' => $a, 'last' => $b ); }, $arr1, $arr2 );
/*
Array
(
[0] => Array
(
[first] => Pat
[last] => Smith
)
[1] => Array
(
[first] => William
[last] => Cooper
)
[2] => Array
(
[first] => Filbert
[last] => Cline
)
[3] => Array
(
[first] => Henry
[last] => Jones
)
[4] => Array
(
[first] => John
[last] => Winkler
)
)