如何获取用户输入并从数组中找到其对应的键并在PHP中显示它

时间:2017-09-13 11:21:28

标签: 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>";
    }
}

1 个答案:

答案 0 :(得分:0)

您可以迭代文件行,直到找到匹配项:

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

但是,如果您执行大量搜索或文件变大,则数据库将是更好的选择