PHP 高效页面处理程序

发布于 2024-11-09 18:04:44 字数 634 浏览 1 评论 0原文

我正在制作一个网站,其中包含每个国家和城市的网址以及餐厅名称。

(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 使用率,并使服务器尽可能快地提供页面。

I'm making a website that has URLs for each country and city, and name of restaurant.

(www.domain.com/country/city/restaurant-name)

I know how to do the Apache rewrites for it,

The question is how to make it as efficient as possible wuth php.

right now what I do is first declare a two-dimensional array of countries
and cities:

$countries = array("United-Kingdom"=>array("Bristol","London"),
               "Italy"=>array("Rome","Milan","Napoli"));

than I check if the city exists:

if (isset ($countries[$page])

and then i do use the in_array function for the city,
the restaurant name is looked up in the database.

The array of countries and cities is quite huge, so I want to know
if there's a more efficient way of doing this.

I though of maybe making a php file for each country and try to include it,
and have in each php file the array of cities.
and maybe set up a cron job that will update the files.

I wondered is the most efficient way of doing this that will use
the least processing CPU usage and make the server serve the pages as fast possible.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

作死小能手 2024-11-16 18:04:44

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

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

然后......

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

A faster way than using in_array would be to stick with isset(). You can structure your array like this:

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

Then....

if(isset($countries[$country][$city])){
    //...
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文