我有一个文件,我正在读取数据,文件有邮政编码及其相应的状态格式:
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 :(得分:0)
您可以迭代文件行,直到找到匹配项:
foreach(file($file) as $line){
list($postcode, $state) = explode(',', $line);
if($state == $suburb){
echo $postcode;
break;
}
}
但是,如果您执行大量搜索或文件变大,则数据库将是更好的选择