如何从动态多维数组中获取那些使用Shuffle函数随机化它们的键?
假设我有这个脚本:
function customShuffle(array &$array) {
$firstElement = array_shift($array);
shuffle($array);
array_unshift($array, $firstElement);
}
$array = array(
'row_1' => array("Bird", "Brown", "Bear", "Bangkok", "Bat"),
'row_2' => array("Carrot", "Cat", "Crispy", "Cross", "Cable"),
'row_3' => array("All", "Apple", "Adam", "Apart", "Air")
);
array_walk($array, function (&$array) { customShuffle($array); });
Shuffle($array);
该脚本会在垂直方向上给我一个混洗数组并在每个数组中改组元素。
我尝试使用array_keys函数,但它只给我主数组键!
我需要的是获取每个子数组中每个元素的动态键,以及第一级动态数组的键,请问我该怎么做?
答案 0 :(得分:2)
很容易:) array_walk
回调需要两个参数:值和键:
array_walk($array, function ($val, $key) { ... });
答案 1 :(得分:1)
使用array_map ..密钥将完整
$array = array_map(function ($v) {
shuffle($v);
return $v;
}, $array);
子数组键
$keys = array_map(function ($v) {
return array_keys($v);
}, $array);