• 技术文章 >后端开发 >php教程

    一年没来,循例散分解决方案

    2016-06-13 13:12:23原创286
    一年没来,循例散分
    照旧,发两个自用的“小”东西,给点改善意见的多些分,纯接分的巡查管理员应该会删贴的,嘿嘿
    注:因为是自用,传入基本是格式正规的,所以没有做容错,这个用者自理

    //搜索文件中的字串,返回所在行的行号
    PHP code
    
    $lines=new ArrayIterator(file(文件名));
    $regex = 搜索用的正则;  //必须是正则,因为下面的迭代器是正则迭代器
    $regexFilter = new RegexIterator($lines, $regex, RegexIterator::GET_MATCH);
    $items = iterator_to_array($regexFilter);
    //其实上面这段东东还能更广泛应用,善用对处理大文件有很大帮助,自己去举一反三吧
    
    $keys = array_keys($items);  //如果你搜索的值不是唯一的,这里就是多个行号的数组(注意第一行是“0”)
    $lineNumber = $keys[0];  //如果你搜索的值是唯一的,这里就是你要的行号
    
    


    //对行列(矩阵)数组交换一维和二维键
    什么是矩阵数组,每一维键名存在且顺序是对应的二维数组,简单举例就是SQL后得到的二维数组,当然还有更多
    注意是顺序对应,不然没有意义,两维都是数字键名也能用,但数字键名感觉也是意义不大,因为数字键名用交并差很方便的
    PHP code
    
    class squareArray
    {
        public function swapRowCol($array)
        {
            $mit = new MultipleIterator(MultipleIterator::MIT_KEYS_ASSOC);
            foreach ($array as $key => $value) { $temArr = new ArrayIterator($value); $mit->attachIterator($temArr, $key); }
            $arr = array();
            foreach ($mit as $item) array_push($arr,$item); //这里本来想直接iterator_to_array省循环,但出错,不解
            if (isset($array[0])) $arr = array_combine(array_keys($array[0]),$arr);
            return $arr;
        }
    }
    //类中只写了一个交换方法,有兴趣的人可以自行扩展
    
    


    SPL代码很简洁,可惜文档太少了,很多都要自己写后测试看结果,累啊

    ------解决方案--------------------
    是好久没来了,还以为你跳出苦海了呢


    ------解决方案--------------------
    在沙发上迷糊一会~
    ------解决方案--------------------
    过来加点人气
    ------解决方案--------------------
    唉~~~~我这都为分少而蛋痛的不得了,楼主还挥分如土……技术烂伤不起啊~~~~~~~~~~
    ------解决方案--------------------
    东西不错 搬个小板凳看
    ------解决方案--------------------
    几小时没来 赶紧来接分 高呼代码共享万岁.
    ------解决方案--------------------
    支持一个,都没有看到代码呢
    ------解决方案--------------------
    接分积分,很久没来了
    ------解决方案--------------------
    开源万岁~
    ------解决方案--------------------
    谢谢楼主分享,坐等牛人的改进方案
    ------解决方案--------------------
    悄悄的路过。。。支持。。。。。
    ------解决方案--------------------
    过来加点人气
    ------解决方案--------------------
    我党需要楼主这样的人才,入党吧。
    ------解决方案--------------------
    ArrayIterator 是个高深的东西,文档太少,表示不解
    ------解决方案--------------------

    小东西大用处,不懂PHP,学习来着,坐等高人
    ------解决方案--------------------
    112341354354
    ------解决方案--------------------
    我背着麻袋来接...
    ------解决方案--------------------
    PHP貌似不是很难学......
    ------解决方案--------------------
    PHP据说与c很像。。。
    有机会可以学学。。
    ------解决方案--------------------
    这个号不知道丢了多久了,上来冒个泡
    ------解决方案--------------------
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇: 哪位老大知道情况,给解释一上咋回事 下一篇: PHP怎么解决网站大流量与高并发的有关问题
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 整理总结nginx、php-fpm和mysql等的权限划分• 拾掇活:PHP的日期时间函数date() • PHP header发送各种类型文件上载 • 怎么获取新浪微薄分享成功的返回值 • 40个迹象表明你还是PHP初学者
    1/1

    PHP中文网