ホームページ >バックエンド開発 >PHPチュートリアル >まだ 1 年も経っていませんが、解決策はルーチンに従って分散されています
1 年間ここに来ていないので、いつものようにポイントを配布します
自分用に 2 つの「小さな」ことを投稿し、改善の提案をしてくれる人にはさらにポイントを与えます。ポイントを受け取るだけのパトロール管理者は投稿を削除するでしょうね
注意:個人使用のため、入力形式は基本的に形式的であるため、これについてはユーザーの責任です
//ファイル内の文字列を検索し、その行の行番号を返します。
PHP コード
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> $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]; //如果你搜索的值是唯一的,这里就是你要的行号
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 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; } } //类中只写了一个交换方法,有兴趣的人可以自行扩展