新手问个很简单的PHP问题 一维数组怎么随机提取3个值并且保留键值要最效率最简单的还有问个附加小问题 怎么随机打乱一个一维数组 并且键值不变 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先要看你这个数组的count是多少然后产生0到count之间三个不同的key取出值至于第二个问题 你可以通过改变key来实现 <?phpfunction 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;} $ar = array(1,2,3,4,5,6);//问一$r = array();foreach(array_rand($ar, 3) as $k) $r[$k] = $ar[$k];print_r($r);//问二$r = array();$t = array_keys($ar);shuffle($t);foreach($t as $k) $r[$k]] = $ar[$k];print_r($r); 我记得好像array_rand 是随机提取的了连着的三个元素.. 对ecshop系统熟悉的进来看下! 求php怎么调用含BLOB存储过程 discuz模板解析问题 求一个答题系统 一个PHP问卷调查页求修正 PHP单据设计 php上传视频,播放? ???????自动运行php程序 用过PHP的Discuz!论坛,UCenter Home 和 SupeSite的朋友请进 虚拟主机 (不是vps哈,别抬杠)中如何开启sphinx服务呢 关于地图的问题,知道的朋友请进来帮忙,互相帮助 求一个简单的数组操作方法或函数
至于第二个问题 你可以通过改变key来实现
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;
}
$r = array();
foreach(array_rand($ar, 3) as $k) $r[$k] = $ar[$k];
print_r($r);//问二
$r = array();
$t = array_keys($ar);
shuffle($t);
foreach($t as $k) $r[$k]] = $ar[$k];
print_r($r);
我记得好像array_rand 是随机提取的了连着的三个元素..