我想创建一个php脚本,允许我的Android客户端应用程序通过HTTP get方法请求与字符串匹配的城市。
我对php不是很熟悉,但我最终得到了这个脚本:
<?php
function starts_with($string, $query) {
return substr($string, 0, strlen($query)) === $query // TODO: ignore case
}
$constraint = $_GET['const']
$string = file_get_contents("/home/cities.json");
$cities = json_decode($string, true); // Json array filled with Json objects, each one representing a city
$matches = array();
foreach ($cities as $city) {
if (startsWith($city->name, $constraint)) {
$matches[] = $city
}
}
echo json_encode($matches);
?>
事实是我的json文件是一个巨大的文件(~20Mb),包含近220k&#34; line&#34;。 我以前在Java的客户端使用Jackson解析器实现了这个,它完全适应这种巨大的json文件,只要它通过节点处理文件并且不会一次完全解析文件。 所以我觉得我的脚本不适应它将加载的20mb文件。有没有办法以更好的方式做到这一点? 感谢