php组合排序简单实现方法


Posted in PHP onOctober 15, 2016

本文实例讲述了php组合排序简单实现方法。分享给大家供大家参考,具体如下:

今天被一个组合排序纠结了一晚上,可能是开始没转过弯,所以没想到用二个栈。用了二个栈就很简单的完成了需求效果

php组合排序简单实现方法

组合排序想象图

为了完成这个效果图,可纠结死我了,先用sql组合查询,结果是组合了,但是效果达不到。现在贴出PHP代码

//获取学生信息
private function ground($data)
{
$stu = array(); //新建一个学号栈,存储学生学号
foreach($data as $key=>$value)
{
if(in_array($value["studentid"],$stu)) //判断学号是不是已经被存储
{
array_push($array[$value["studentid"]],$value["selectbh"]); //入栈
array_push($array[$value["studentid"]],$value["taskid"]); //入栈
}
else
{ // 动态新建学生信息栈。
$array[$value["studentid"]] = array($value['selectbh'],$value['taskid']);
array_push($stu,$value["studentid"]); //再学号栈里面没有的学号入栈
}
}
unset($stu); //注销学号栈
return $array; //返回学生信息节点
}

就上面的代码,就可以做到我们想的效果了,预览这个页面得到下面的效果

array(2) {
 ["10408400227"] => array(4) {
  [0] => string(1) "1"
  [1] => string(1) "4"
  [2] => string(1) "2"
  [3] => string(1) "5"
 }
 ["10408400229"] => array(6) {
  [0] => string(1) "1"
  [1] => string(1) "4"
  [2] => string(1) "2"
  [3] => string(2) "28"
  [4] => string(1) "3"
  [5] => string(2) "14"
 }
}

形成了一个二维数组,用学号做了数组的键,这样就关联了学号,可以得到对于的效果图了。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
如何将一个表单同时提交到两个地方处理
Oct 09 PHP
smarty+adodb+部分自定义类的php开发模式
Dec 31 PHP
ajax php 实现写入数据库
Sep 02 PHP
浅谈php serialize()与unserialize()的用法
Jun 05 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
PHP中copy on write写时复制机制介绍
May 13 PHP
php中解析带中文字符的url函数分享
Jan 20 PHP
php实现的一个简单json rpc框架实例
Mar 30 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 PHP
laravel框架上传图片实现实时预览功能
Oct 14 PHP
浅谈laravel数据库查询返回的数据形式
Oct 21 PHP
php操作redis数据库常见方法实例总结
Feb 20 PHP
PHP中字符与字节的区别及字符串与字节转换示例
Oct 15 #PHP
php实现博客,论坛图片防盗链的方法
Oct 15 #PHP
PHP云打印类完整示例
Oct 15 #PHP
PHP实现统计在线人数功能示例
Oct 15 #PHP
Thinkphp连表查询及数据导出方法示例
Oct 15 #PHP
PHP实现导出excel数据的类库用法示例
Oct 15 #PHP
PHP数组操作简单案例分析
Oct 15 #PHP
You might like
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
Extjs Ajax 乱码问题解决方案
2009/04/15 Javascript
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
node.js中的http.response.setHeader方法使用说明
2014/12/14 Javascript
JavaScript中for循环的使用详解
2015/06/03 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
基于node实现websocket协议
2016/04/25 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
Vue.js每天必学之数据双向绑定
2016/09/05 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
js正则表达式注册页面表单验证
2016/10/11 Javascript
vue中渐进过渡效果实现
2016/10/27 Javascript
vue指令以及dom操作详解
2017/03/04 Javascript
vuejs实现递归树型菜单组件
2018/01/13 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
2018/02/22 Javascript
vue在响应头response中获取自定义headers操作
2020/07/24 Javascript
手把手带你搭建一个node cli的方法示例
2020/08/07 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
[48:54]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第二场 6.3
2018/06/04 DOTA
详解python开发环境搭建
2016/12/16 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
pytorch: Parameter 的数据结构实例
2019/12/31 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
Python生成器generator原理及用法解析
2020/07/20 Python
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
慰问敬老院活动总结
2014/04/26 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
幼儿园园长新年寄语2015
2014/12/08 职场文书
世界红十字日活动总结
2015/02/10 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL