Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP应用程序中的算法优化_Php_Algorithm_Optimization - Fatal编程技术网

PHP应用程序中的算法优化

PHP应用程序中的算法优化,php,algorithm,optimization,Php,Algorithm,Optimization,我正在做一个web应用程序项目,它向客户显示一个结果列表,包括图片、描述和一些其他信息。我想优化负责显示结果的例程 假设我们总共有200个结果(产品)。对于它们中的每一个,都会调用一个函数(我们称之为DisplayResults),用于获取一些图片、描述和其他内容 DisplayResults当前位于foreach循环中,正如我已经提到的,对于每个结果,我们都有一个新的函数调用 我想问:如何优化这个序列?如果我获取了在foreach循环之外使用函数显示所需的所有信息(一次获取所有结果),我会看到

我正在做一个web应用程序项目,它向客户显示一个结果列表,包括图片、描述和一些其他信息。我想优化负责显示结果的例程

假设我们总共有200个结果(产品)。对于它们中的每一个,都会调用一个函数(我们称之为DisplayResults),用于获取一些图片、描述和其他内容

DisplayResults当前位于foreach循环中,正如我已经提到的,对于每个结果,我们都有一个新的函数调用

我想问:如何优化这个序列?如果我获取了在foreach循环之外使用函数显示所需的所有信息(一次获取所有结果),我会看到一些不同吗

先谢谢你

编辑:我已经在使用分页。数据已经从数据库中提取并存储在一个数组中,因此在我看来,此时不需要进行SQL优化

编辑#2:这是foreach循环的样子:

foreach ($total['product_data'] as $product_data) {
   $tags['$$searchProductList'] .= DisplayResults($product_data);
}
function DisplayResults ($data) {
  $tags['$$Description'] = substr($data['description'],0,70)." ...";
  $tags['$$FeaturesList'] = getFeatures($data['features']);
  $tags['$$PhotosList'] = getPhotos($data['photos']);
  $tags['$$Offers'] = getOffers($data['offers']);
  .
  .
  .
  .
}
这就是DisplayResults的外观:

foreach ($total['product_data'] as $product_data) {
   $tags['$$searchProductList'] .= DisplayResults($product_data);
}
function DisplayResults ($data) {
  $tags['$$Description'] = substr($data['description'],0,70)." ...";
  $tags['$$FeaturesList'] = getFeatures($data['features']);
  $tags['$$PhotosList'] = getPhotos($data['photos']);
  $tags['$$Offers'] = getOffers($data['offers']);
  .
  .
  .
  .
}

$data变量包含为当前结果从数据库获取的所有信息

假设数据来自数据库,学习如何在SQL查询中使用联接我们如何判断?我们完全不知道你的函数是做什么的,或者它是如何实现的。为了得到有用的答案,你应该添加一些关于如何获取附加信息的更多信息。此外,我认为你应该考虑一些分页- 200结果在一个页面上看起来有点太多。给我们展示数据库结构和SQL代码,它获取了EngEngSness,你做的每一个字符串都做了非常错误的事情(例如,我们调用<代码>三)(<代码> 20000000次)。与通常的应用程序瓶颈相比,通过简单地减少函数调用数量所获得的性能增益很可能很小。你有方法和信息:你知道你的应用程序是如何工作的,你可以运行分析器,你可以测试东西。在没有任何信息的情况下,我们无法提供有用的答案。