【发布时间】:2010-09-15 13:44:35
【问题描述】:
我有一个 php 方法,它使用从属性中检索的数据创建一个 HTML 表。 我最关心的是我的应用程序的性能,因为我要处理大量数据。
public function getHTML() {
$phpObj = json_decode($this->data); // array(object, object, object, ....);
$table = "<table><tbody>\n";
if (count($phpObj->query->results->row) > 0) {
$row = $phpObj->query->results->row;
foreach ($row as $value) {
$table .= "<tr>\n";
foreach ($value as $key => $val) { // concerned about loop inside loop
$table .= "<td>" . $value->$key . "</td>";
}
$table .= "\n</tr>\n";
}
$table .= "</tbody></table>";
return $table;
}
else {
return 'HTML table not created.';
}
}
有没有更有效的方式来遍历数组和对象而不在循环中创建循环?
【问题讨论】:
-
我们在这里谈论多少次迭代?我没有看到任何其他方式来遍历没有循环和内部循环的二维数组。您是否对其进行了基准测试以查看它是否确实对资源造成了问题?
-
最近的问题PHP is very slow when printing a large amount of information 的可能重复项。你必须优化你的“大量数据”,伙计,而不是检索它的循环。说,分页总是有帮助
-
@Fanis,我对 php 比较陌生,我正在创建的应用程序很大程度上依赖于 YQL 和 javascript - php 是那些禁用 javascript 的人的后备。
-
除非您分析了这段代码并且它确实太慢了,否则您不会遇到性能问题。你有吗?
标签: php