首页 > 后端开发 > php教程 > 截取符合条件的数组,该如何解决

截取符合条件的数组,该如何解决

WBOY
发布: 2016-06-13 12:25:35
原创
810 人浏览过

截取符合条件的数组

1

<br />$arr = Array<br />(<br />    6 => Array<br />        (<br />            id=> 358<br />            level=> 6<br />        )<br />    4=> Array<br />        (<br />            id => 354<br />            level => 4<br />        )<br />    5 => Array<br />        (<br />            id => 353<br />            level => 5<br />        )<br />)<br />

登录后复制

有上面这样一个数组按键的顺序来来截取合适的数组
如果key的排序为6的在前面 如上列 key排序为 6,4,5就只取
$arr = Array
(
    6 => Array
        (
            id=> 358
            level=> 6
        )
}
如果数组排序为5,4,6 就只取5,6两个
$arr = Array
(
    5 => Array
        (
            id => 353
            level => 5
        )
    6 => Array
        (
            id=> 358
            level=> 6
        )
)
如果4在前面排序为4,5,6就都取,
$arr = Array
(
 4=> Array
        (
            id => 354
            level => 4
        )
    5 => Array
        (
            id => 353
            level => 5
        )
    6 => Array
        (
            id=> 358
            level=> 6
        )
)
以上如果有4,5,6,7,8,9多个的话改如何优化呢?
------解决思路----------------------
排序为 6,4,5就只取 6(可认为取第一个或最后一个)
排序为5,4,6 就只取5,6两个(这又是取两端了)
排序为4,5,6就都取(规则又变了)
像你这样多变的规则,是无法写程序的

你也没有给出代码,优化更无从说起了
------解决思路----------------------
看了下,你这个唯一的规则就是,按照第一条数据的key,往上取值

5,4,6  第一个是5 ,取比5 大的(包含5),就是 5,6
4,5,6  第一个是4 ,取比4 大的(包含4),就是 4,5,6
 
那你在循环的时候,记录第一条数据的key值,每次都判断key是否大于第一个值,大于就记录
这样你就不需要管他,是7,8,9还是更多的数据

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板