• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストファイル用いて、ページジングを行い、条件にマッチしないものは飛ばす。)

【初心者向け】phpを使ったテキストファイルのページジング方法

このQ&Aのポイント
  • 初心者向けに、phpを使用してテキストファイルのページジングを行う方法について解説します。条件にマッチしないものはスキップし、特定の条件に合致する行数を取得する方法も紹介します。
  • 具体的には、テキストファイルを読み込み、配列に格納して行数を取得します。その後、条件に合致する行数だけを取り出し、ページング処理を行います。
  • また、他の方法も紹介しますので、php初心者の方でもわかりやすく理解できる内容となっています。ぜひ参考にしてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

こんな感じかと思います。 実際に動かしてないので構文ミスがあるかも。 # ファイル読み込み(配列に入れる) $abc = file("abc.txt"); # 配列を処理する foreach ($abc as $data) { # カンマで区切る $data2 = explode(",",$data); # 好きな条件を入れましょう if ($data[1] == '0001') { # 好きな処理をしましょう } }

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • テキストファイルの読み込みについて

    PHP4を使用しています。最近、はじめたばかりで教えていただきたいと思い、質問させていただきます。 現在、作成したいシステムの仕様を説明します。 まず、abc.txtというファイルには、 20050225,001,パソコン,102000 20050225,002,モニター,4000 20050225,003,マウス,2100 … (日付、ID、品物、単価) いうデータが保存されております。 このtxtファイルを二次元的に読み込ませ、表示するのですは、一行ずつ表示したいのです。表示するページには、"次へ"ボタンを作成し、ボタンを押すと次行への表示を行う。 以上ですが、スライドショー感覚で表示を行いたいのですが、どのようにすればよろしいのでしょうか。 私が考えるには、txtファイルのIDまたは、txtファイルの行数をgetやpostで引き渡して…と考えますが、PHP初心者もあり、どのようなロジックで次行に移るのかわかりません。よろしければ、その方法(命令)もご伝授の程、宜しくお願い致します。

    • ベストアンサー
    • PHP
  • マッチした郵便番号のみを配列に格納したい

    テキストファイルから郵便番号のみを 抽出したいと考えています。 欲しいのは該当した郵便番号のみの一覧なのですが 下記プログラムではマッチした行が 配列として格納されてしまいます。 $naiyou = file("textfile.txt"); for($i=0;$i<sizeof($naiyou);$i++){ if(preg_match("/\d{3}-\d{4}","$naiyou[$i]")){ $naiyou[$i]=$naiyou[$i]."\n"; array_push($result,$naiyou[$i]); } } マッチした数字のみを配列に格納するには どうすればいいのでしょういか?

    • ベストアンサー
    • PHP
  • PHPでテキストファイルの行数を取得したいです。

    PHPでテキストファイルの行数を取得したいんです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • テキストファイルの指定文字列表示2

    以前質問し、解決したかに見えたのですが、元ファイルに意外なケースがあることに気づき、再度質問させていただきます。 あるブラウザにて、あるテキストファイルの部分を抽出して表示させるスクリプトを考えております。 テキストファイル自体は同階層にあり(./aaa.txt)、不定期に更新されます。内容は下記<./aaa.txt>のような構成になっております。そして下段のphpスクリプト<vvv.php>ですと希望どおりに表示されるのですが、./aaa.txtファイルの中身は状況によっては空行が最初の1回しかないケースがあります。 その場合も、 222222222222 3333333333333 4444444444 のように"111111111111"を除いた、1回目の空行までは表示させたいのですが、何か良い方法はございますでしょうか? ※このようなファイルの場合<vvv.php>で実行すると、何も出力されません。 どうかご教授お願いいたします。 <./aaa.txt> ========= 111111111111 222222222222 3333333333333 4444444444 (空行) 55555555 6666666 66666666 8888888 (空行) 9999999999999999999999 ・ ・ ========= <vvv.php> ========= <?PHP function mytrim(&$item){//(1) $item=str_replace(Array("\r","\n"),Array("",""),$item); } $lines=file("./aaa.txt");//(2) array_walk($lines, 'mytrim');//(3) $blankline=array_keys($lines,"");//(4) $lastline=$blankline[1]-1;//(5) for($i=0;$i<=$lastline;$i++){ if($lines[$i]!="111111111111"){//(6) print $lines[$i]."<br>"; } } ?> =========

    • ベストアンサー
    • PHP
  • array_push関数について

    array_push関数を使って配列に追加していくことはできるのですが、多次元配列に追加する方法がわかりません。 WEBマニュアルを見ても詳しく書かれておらず困っています。 array_push関数で多次元配列に追加していくことはできるのでしょうか? できるのであれば簡単な書式をご伝授ください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • テキストから特定の行の値取得方法

    こんにちは、 abc.txtを読み込んで、 ランダムで選ばれば数字の行の値を取得したいのですが どのように記述すればよいでしょうか? 例、abc.txtが5行あったとして、 ランダム数(txtの行数内で抽選)で3が出た場合 小吉を取得したい。 abc.txt----------------- 大吉 中吉 小吉 その他  ・  ・

    • ベストアンサー
    • Java
  • 【AS3.0】外部テキストから配列を読み込む

    fla→PHPに変数・配列のデータを送り、 下記のようなテキストデータを.txtファイルに出力するものを作りました。 var1=1&var2=0&array1=1,2,3&array2=1,2,3,4&array3=1,2,3,4,5 送られた変数・配列はすべて連なっており、&で区切られています。 変数を読み込むには下記で出来るようですが、 参考URL:http://ninotk.oops.jp/weblog/?p=30 private var filePath:String = "topics.txt"; private var tpcLoader:URLLoader; init(); function init(){ tpcLoader = new URLLoader(); tpcLoader.dataFormat = URLLoaderDataFormat.VARIABLES; tpcLoader.addEventListener(Event.COMPLETE,onComplete); tpcLoader.load(new URLRequest(filePath)); } private function onComplete(evt:Event):void{ var src:String = evt.target.data; var vars:URLVariables = new URLVariables(src); contents.topics._date.text = vars.date; contents.topics._txt.text = vars.news; } 配列を読み込む手順がどうしても分かりませんでした... さらに上記のような変数・配列混合での読み込みは可能でしょうか。 もし不可能のようでしたら、変数のみのtxtと配列のみのtxtとで分けての出力も可能です。 よろしくお願い致します。

    • ベストアンサー
    • Flash
  • 配列の抽出

    PHPの配列の関数で数行程度でフィルターのような機能は可能なのでしょうか? 以下、サンプルですが血液型がAの新しい配列を作成するには、どのようにしたら良いのでしょうか? また、新しい配列でなく$matrixを血液型がAのみにする方法も知りたいです。 実際の例で示していただけましたら助かります。 <?php // 血液型(blood)がAの人のみの新しい、配列にしたい。 $agent1 = array( "blood"=>"A", "B"=> 80, "W"=> 60, "H"=> 85 ); $agent2 = array( "blood"=>"B", "B"=> 90, "W"=> 62, "H"=> 90 ); $agent3 = array( "blood"=>"O", "B"=> 78, "W"=> 56, "H"=> 80 ); $agent4 = array( "blood"=>"AB", "B"=> 81, "W"=> 59, "H"=> 83 ); $agent5 = array( "blood"=>"A", "B"=> 88, "W"=> 58, "H"=> 84 ); $matrix = array(); array_push($matrix, $agent1); array_push($matrix, $agent2); array_push($matrix, $agent3); array_push($matrix, $agent4); array_push($matrix, $agent5); var_dump($matrix); exit; ?>

    • ベストアンサー
    • PHP
  • テキストファイルから抽出

    あるテキストファイルから、複数の条件に合致するレコードのみを抽出したい時、例えば、 C:¥> findstr "a b" test.txt のように出来ると思います。 この”a b”の部分をもっと複雑にいろいろと変更したくて、別のテキストファイルに記載してそれを読ませたいのですが、そのようなことは可能でしょうか?

  • StreamReaderで読み込んだテキストの行数

    テキストファイルを読み込んで行数文のクラスの配列を宣言したいと思っているのですが、 Wireless_unit Wireless_unit[32]; array<Wireless_unit_str^>^ Wireless_ID_str02 = gcnew array<Wireless_unit_str^>(32); 行数がわからないので、StreamReader^で宣言したreadで知る方法はありませんでしょうか? 下のような関数でファイルを読み込んでいます。 private: bool LoadCsvFile02( String^ path ) { StreamReader^ reader = gcnew StreamReader( path, System::Text::Encoding::GetEncoding("shift-jis")); ----(中略)------------------------------------------------

このQ&Aのポイント
  • ウインドウズ10最終版?のPC-A2377BABを購入した際の不具合
  • ウインドウズ11へのアップデートによるソフトの不具合
  • 不具合についてアドバイスを求める
回答を見る