PHP里一个12成员的数组,随机挑出6/3/3个成员(不重复),然后重新赋值,有什么简洁的办法实现?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP里一个12成员的数组,随机挑出6/3/3个成员(不重复),然后重新赋值,有什么简洁的办法实现?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1124字,纯文字阅读大概需要2分钟。
内容图文
![PHP里一个12成员的数组,随机挑出6/3/3个成员(不重复),然后重新赋值,有什么简洁的办法实现?](/upload/InfoBanner/zyjiaocheng/242/0b7b9ee5fdb5492d90f3255188a0b7ee.jpg)
假设使用这个数组
$arr = array("A","B","C","D","E","F","G","H","I","J","K","L");//12个成员
然后我要从中分3次,分别抽出6/3/3个成员,不能重复
然后将第一次抽出的6个成员重新赋值为"A"
将第二次抽出的3个成员重新赋值为"B"
将剩余的3个成员重新赋值为"C"
大家有什么简洁的办法实现这个过程吗?
回复内容:
假设使用这个数组
$arr = array("A","B","C","D","E","F","G","H","I","J","K","L");//12个成员
然后我要从中分3次,分别抽出6/3/3个成员,不能重复
然后将第一次抽出的6个成员重新赋值为"A"
将第二次抽出的3个成员重新赋值为"B"
将剩余的3个成员重新赋值为"C"
大家有什么简洁的办法实现这个过程吗?
shuffle()
抽取后的源数组, data => 抽取的数据
*/
function fun($arr=array(), $number = '')
{
$a = array_rand($arr, $number);
$data = array();
foreach ($a as $v) {
$data[] = $arr[$v];
}
$arr_new = array_diff($arr, $data);
return array(
'arr_new' => $arr_new,
'data' => $data
);
}
// 第1次抽取6个
$res = fun($arr, 6);
$first_data = $res['data'];// 第1次抽取的结果
var_dump($first_data);
// 第2次抽取3个
$res = fun($res['arr_new'], 3);
$second_data = $res['data'];// 第2次抽取的结果
$second_arr = $res['arr_new'];// 剩下的结果
var_dump($second_data);
var_dump($second_arr);
多多指教
内容总结
以上是互联网集市为您收集整理的PHP里一个12成员的数组,随机挑出6/3/3个成员(不重复),然后重新赋值,有什么简洁的办法实现?全部内容,希望文章能够帮你解决PHP里一个12成员的数组,随机挑出6/3/3个成员(不重复),然后重新赋值,有什么简洁的办法实现?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。