繁体   English   中英

如何从PHP中获取动态多维数组中的键?

[英]How can I get the keys from a dynamic multidimensional array, in PHP?

我怎样才能从动态多维数组中获取那些使用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函数,但它只给我主要的数组键!

我需要的是获取每个子数组中每个元素的动态键,以及第一级动态数组的键,我该怎么做呢?

这很容易:) array_walk回调需要两个参数:值键:

array_walk($array, function ($val, $key) { ... });

使用array_map ..密钥将完好无损

$array = array_map(function ($v) {
    shuffle($v);
    return $v;
}, $array);

子数组键

$keys = array_map(function ($v) {
    return array_keys($v);
}, $array);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM