php 二维、多维 数组打乱顺序,PHP_php打乱数组二维数组多维数组的简单实例,php中的shuffle函数只能打乱一维

php打乱数组二维数组多维数组的简单实例

php中的shuffle函数只能打乱一维数组,有什么办法快速便捷的打乱多维数组?手册上提供了

function shuffle_assoc($list) {

if (!is_array($list)) return $list;

$keys = array_keys($list);

shuffle($keys);

$random = array();

foreach ($keys as $key)

$random[$key] = $list[$key];

return $random;

}

?>

上面这个是针对二维数组的!

下面针对多维数组的乱序方法?尽可能的方便快速:

function shuffle_assoc($list) {

if (!is_array($list)) return $list;

$keys = array_keys($list);

shuffle($keys);

$random = array();

foreach ($keys as $key)

$random[$key] = shuffle_assoc($list[$key]);

return $random;

}

?>

以下函数也是出自php手册,可以打乱多维数组:

/**

* Shuffles an associative array recursive

*

* @param array $array

* @return array

*

*/

function rec_assoc_shuffle($array)

{

$ary_keys = array_keys($array);

$ary_values = array_values($array);

shuffle($ary_values);

foreach($ary_keys as $key => $value) {

if (is_array($ary_values[$key]) AND $ary_values[$key] != NULL) {

$ary_values[$key] = rec_assoc_shuffle($ary_values[$key]);

}

$new[$value] = $ary_values[$key];

}

return $new;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值