php实现统计功能
统计功能实现方法
数据库统计
使用SQL聚合函数直接统计数据库中的数据,适用于数据量较大的场景。
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
$stmt = $pdo->query('SELECT COUNT(*) as total FROM users');
$result = $stmt->fetch(PDO::FETCH_ASSOC);
echo "总用户数: " . $result['total'];
数组统计
对PHP数组进行统计计算,适合处理内存中的数据集合。

$data = [10, 20, 30, 40, 50];
$count = count($data);
$sum = array_sum($data);
$avg = $sum / $count;
echo "数量: $count, 总和: $sum, 平均值: $avg";
文件统计
统计文件内容或文件数量,适用于日志分析等场景。
$file = 'access.log';
$lineCount = 0;
$handle = fopen($file, 'r');
while(!feof($handle)){
fgets($handle);
$lineCount++;
}
fclose($handle);
echo "文件行数: $lineCount";
实时统计
使用Redis等内存数据库实现高性能实时统计。

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->incr('page_views');
$views = $redis->get('page_views');
echo "页面访问量: $views";
高级统计函数
使用PHP的统计扩展或自定义函数实现复杂统计。
function standardDeviation(array $data) {
$n = count($data);
$mean = array_sum($data) / $n;
$sumSquares = 0;
foreach ($data as $value) {
$sumSquares += pow($value - $mean, 2);
}
return sqrt($sumSquares / ($n - 1));
}
$data = [9, 2, 5, 4, 12, 7];
echo "标准差: " . standardDeviation($data);
可视化统计
使用图表库展示统计结果。
require 'vendor/autoload.php';
use Amenadiel\JpGraph\Graph;
use Amenadiel\JpGraph\Plot;
$data = [12, 8, 19, 3, 10];
$graph = new Graph\Graph(400, 300);
$graph->SetScale('textlin');
$barplot = new Plot\BarPlot($data);
$graph->Add($barplot);
$graph->Stroke();






