PHP高效页面处理程序

PHP高效页面处理程序,php,handler,Php,Handler,我正在做一个网站,有每个国家和城市的网址,以及餐厅的名称 (www.domain.com/country/city/restaurant name) 我知道如何对它进行Apache重写 问题是如何使用php使其尽可能高效 现在我要做的是首先声明一个国家的二维数组 城市: $countries = array("United-Kingdom"=>array("Bristol","London"), "Italy"=>array("Rome","Milan"

我正在做一个网站,有每个国家和城市的网址,以及餐厅的名称

(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_数组函数, 餐厅名称在数据库中查找

国家和城市的数量相当大,所以我想知道 如果有更有效的方法的话

我想为每个国家制作一个php文件,并尝试将其包括在内, 在每个php文件中都有城市数组。 可能会设置一个cron作业来更新文件

我想知道这样做最有效的方法是什么
处理CPU使用率最低,并使服务器尽可能快地为页面提供服务。

比使用in_数组更快的方法是坚持使用isset()。您可以这样构造阵列:

$countries = array("United-Kingdom"=>array("Bristol"=>true,"London"=>true);
然后

if(isset($countries[$country][$city])){
    //...
}

比在数组中使用更快的方法是使用isset()。您可以这样构造阵列:

$countries = array("United-Kingdom"=>array("Bristol"=>true,"London"=>true);
然后

if(isset($countries[$country][$city])){
    //...
}

为什么数据库中没有国家/地区和城市,因为你在餐馆里使用它?没有特别的原因,我只是觉得做一个MySQL查询比设置一个数组更消耗资源,而且国家/地区和城市几乎是固定不变的。为什么数据库中没有国家/地区和城市,既然你是在餐馆里用的?没有什么特别的原因,我只是觉得做一个MySQL查询比设置一个数组更耗费资源,而且国家和城市都是固定不变的。这是正确的答案。您不需要检查两次,只需检查一次。那么为每个国家创建一个单独的php文件的想法呢?有什么好处吗?我的想法是,即使是巨大阵列的声明也是相当消耗资源的,也许我可以检查它是哪个国家,然后只为那个国家声明阵列。你的答案是gr8:)谢谢。如果您不想使用数据库,您可以为每个国家保留一个目录,其中包含每个城市的文件。然后您可以检查文件是否存在:如果(file_exists($country.DIRECTORY_SEPARATOR.$city))。。。如果你找到了这个文件,那么你就可以抓取目录来抓取城市。Thanx很多,我认为维护这个目录结构是相当困难的,但是,对于每个国家,只要一个php文件,里面有一个城市数组的声明,怎么样?或者是找到一种有效的方法来管理你提到的目录结构。我不确定如何管理文件比创建一个包含数组的国家/地区文件更困难。考虑以下步骤:1。你有一个国家,一个城市。2.检查国家/地区文件是否在3之前存在。正在执行include()。然后是4。isset()?Vs:1。去乡村/城市。2.文件是否存在(“意大利/罗马”)?找到一种读取目录和触摸/删除文件的方法将非常简单。如果你能找到一个已经做到这一点的脚本,我不会感到惊讶。这是正确的答案。您不需要检查两次,只需检查一次。那么为每个国家创建一个单独的php文件的想法呢?有什么好处吗?我的想法是,即使是巨大阵列的声明也是相当消耗资源的,也许我可以检查它是哪个国家,然后只为那个国家声明阵列。你的答案是gr8:)谢谢。如果您不想使用数据库,您可以为每个国家保留一个目录,其中包含每个城市的文件。然后您可以检查文件是否存在:如果(file_exists($country.DIRECTORY_SEPARATOR.$city))。。。如果你找到了这个文件,那么你就可以抓取目录来抓取城市。Thanx很多,我认为维护这个目录结构是相当困难的,但是,对于每个国家,只要一个php文件,里面有一个城市数组的声明,怎么样?或者是找到一种有效的方法来管理你提到的目录结构。我不确定如何管理文件比创建一个包含数组的国家/地区文件更困难。考虑以下步骤:1。你有一个国家,一个城市。2.检查国家/地区文件是否在3之前存在。正在执行include()。然后是4。isset()?Vs:1。去乡村/城市。2.文件是否存在(“意大利/罗马”)?找到一种读取目录和触摸/删除文件的方法将非常简单。如果你能找到一个已经做到这一点的脚本,我不会感到惊讶。