一年沒來,循例散分

來源:互聯網
上載者:User
照舊,發兩個自用的“小”東西,給點改善意見的多些分,純接分的巡查管理員應該會刪貼的,嘿嘿
註:因為是自用,傳入基本是格式正規的,所以沒有做容錯,這個用者自理

//搜尋檔案中的字串,返回所在行的行號
$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後得到的二維數組,當然還有更多
注意是順序對應,不然沒有意義,兩維都是數字鍵名也能用,但數字鍵名感覺也是意義不大,因為數字鍵名用交並差很方便的
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很像。。。
有機會可以學學。。

這個號不知道丟了多久了,上來冒個泡

ok!

表示看不懂

恩,不懂,等樓下打救~

好啊,lz威武

你要散分,我就要接分

好東西,謝了..新手可不可以多散一點

先表示支援再說

新手飄過,多學少說。

$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]; //如果你搜尋的值是唯一的,這裡就是你要的行號http://www.jianfeimb.com/special/

不認識樓主同學

不會PHP,圍觀樓主散分

接分

不會PHP,圍觀樓主散分

圍觀

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.