$stamp) { $min = round(min($stamp['time']) * 1000.0, 4); $avg = round(array_avg($stamp['time']) * 1000.0, 4); $max = round(max($stamp['time']) * 1000.0, 4); $sum = array_sum($stamp['time']) * 1000.0; $row = [ 'name' => $name, 'min' => $min, 'max' => $max, 'avg' => $avg, 'num' => count($stamp), 'sum' => $sum, ]; $rows[] = $row; } $st = ''; switch($type) { case self::DISPLAY_HTML: $st = '
'; foreach($rows as $row) $st .= ''. ''; $st .= ''; $st .= '
Profiler result
' . $row['name'] . '' . round($row['sum'], 4) . '' . $row['min'] . '' . $row['avg'] . '' . $row['max'] . '' . $row['num'] . '' . round($row['sum'] / $p, 2) . '%

t-all:' . round($i, 4) . '
'; break; case self::DISPLAY_TEXT: $st = "Profiler result\n"; $st .= "NAME SUM MIN AVG MAX C PC\n"; $st .= "----------------------------------------------------------------------------------------------------------\n"; foreach($rows as $row) $st .= sprintf("%-40s\t%10.3f\t%10.3f\t%10.3f\t%10.3f\t%4d\t%3.2f%%\n",$row['name'], $row['sum'], $row['min'], $row['avg'], $row['max'], $row['num'], round($row['sum'] / $p, 2)); $st .= "----------------------------------------------------------------------------------------------------------\n"; $st .= 't-all: ' . round($i, 4) . "\n"; break; } if (empty($target)) echo $st; else file_put_contents($target, $st); } }