日期:2014-05-17  浏览次数:20422 次

新手问个很简单的PHP问题
一维数组

怎么随机提取3个值并且保留键值

要最效率最简单的

还有问个附加小问题 怎么随机打乱一个一维数组 并且键值不变

------解决方案--------------------
PHP code
<?php
function kshuffle(&$array) {
    if(!is_array($array) || empty($array)) {
        return false;
    }
    $tmp = array();
    foreach($array as $key => $value) {
        $tmp[] = array('k' => $key, 'v' => $value);
    }
    shuffle($tmp);
    $array = array();
    foreach($tmp as $entry) {
        $array[$entry['k']] = $entry['v'];
    }
    return true;
}