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