首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在数组php中混洗

在数组php中混洗
EN

Stack Overflow用户
提问于 2013-01-18 22:14:32
回答 2查看 497关注 0票数 2

如何在数组中混洗数组?我尝试了很多方法,但我不能做到。我认为这很简单,但我被困在了这一点上。

代码语言:javascript
运行
复制
Array
(
    [2] => Array
        (
            [0] => 12011190
            [1] => 12011158
            [2] => 12011583
            [3] => 12012107
            [4] => 12011222
            [5] => 12010638
            [6] => 12013836
            [7] => 12012232
            [8] => 12011256
            [9] => 12010007
            [10] => 12012531
            [11] => 12012182
            [12] => 12013253
        )

    [6] => Array
        (
            [0] => 12011565
            [1] => 12010020
            [2] => 12011352
            [3] => 12014366
            [4] => 12011879
            [5] => 12011449
        )
)

我想在数组中混洗。我希望解释一下..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-18 22:19:27

下面是一个可以使用的递归多层函数。

代码语言:javascript
运行
复制
function shuffle_array($arr) {
    if (!is_array($arr)) return $arr;
    shuffle($arr);
    foreach ($arr as $key => $a) {
        if (is_array($a)) {
            $arr[$key] = shuffle_array($a);
        }
    }

    return $arr;
}

print_r(shuffle_array($array));
票数 0
EN

Stack Overflow用户

发布于 2013-01-18 22:16:23

据我所知,你可以这样做(假设你想独立地对每个子数组进行混洗):

代码语言:javascript
运行
复制
foreach($array AS &$element) {
    shuffle($element);
}

或者像这样:

代码语言:javascript
运行
复制
array_walk($array, function(&$value, $key) {
    shuffle($value);
});
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14400734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档