我正在创建一个网站,其中包含每个国家/地区和城市的网址以及餐馆名称。
(www.domain.com/country/city/restaurant-name)
我知道如何为它重写Apache,
问题是如何使它尽可能高效wuth php。
现在我所做的是首先声明一个二维数组的国家 和城市:
$countries = array("United-Kingdom"=>array("Bristol","London"),
"Italy"=>array("Rome","Milan","Napoli"));
比检查城市是否存在:
if (isset ($countries[$page])
然后我确实使用了城市的in_array函数, 在数据库中查找餐馆名称。
一系列国家和城市相当庞大,所以我想知道 如果有更有效的方法可以做到这一点。
我虽然可能为每个国家制作一个php文件并尝试包含它, 并在每个PHP文件中包含城市数组。 并且可能设置一个将更新文件的cron作业。
我想知道这是最有效的方法 最少处理CPU使用率并使服务器尽可能快地为页面提供服务。
答案 0 :(得分:5)
比使用in_array更快的方法是坚持使用isset()。您可以像这样构建数组:
$countries = array("United-Kingdom"=>array("Bristol"=>true,"London"=>true);
然后...
if(isset($countries[$country][$city])){
//...
}