2017-09-13 5 views
0

私はからデータを読んでいたファイルを持っている、ファイルは、この形式で郵便番号とそれに対応する状態があります。nはPHP

3001,MELBOURNE 

ユーザーからの入力として州名を受け入れ、その対応する郵便番号を配列キーから確認し、結果を表示します。私は完全なファイルを読み込み、その結果をテーブルに表示することができますが、それを超える方法はわかりません。

これは私が行うことができたものです。

if (isset($_GET['suburb'])) { 
    $suburb = strtoupper($_GET['suburb']); 
    echo $suburb; 
    $file = "postcode.txt"; 
    if(!file_exists($file)) { 
     echo "No record found!"; 
    } 
    else { 
     $records = file($file); 
     echo "<table border='1'><th>Postcode</th><th>State</th>"; 
     for($i=0;$i<count($records);$i++) { 
      $arr = explode(",",$records[$i]); 
      echo "<tr><td>".$arr[0]."</td>"; 
      echo "<td>".$arr[1]."</td></tr>"; 
     } 
     echo "</table>"; 
    } 
} 
+0

データベースはこれ以上、または少なくともより良いデータ形式、たとえばjsonです。あなたはこの形式でこのテキストファイルを使用しなければなりませんか? – Steve

答えて

0

あなたがマッチを見つけるまであなただけのファイルの行を反復処理することができます:

foreach(file($file) as $line){ 
    list($postcode, $state) = explode(',', $line); 
    if($state == $suburb){ 
     echo $postcode; 
     break; 
    } 
} 

をしかし、あなたならば、データベースがより良い選択肢だろう多くの検索を実行しているか、ファイルが大きくなっています

関連する問題