PHP循环优化

Q_M*_*ilo 5 php

我有一个 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.';
    }       
}
Run Code Online (Sandbox Code Playgroud)

是否有一种更有效的方法来遍历数组和对象,而无需在循环内创建循环?

Vin*_*ent 4

不要连接并返回值,而是立即回显它。不太干净,但性能会更有趣,因为字符串会立即输出到管理更有效的输出缓冲区。

循环内循环通常是遍历二维数组的最佳方式。