在 PHP 中,从数组构建交叉表或数据透视表可以通过以下步骤实现:
以下是一个简单的示例代码,演示如何在 PHP 中从数组构建交叉表:
<?php
// 原始数组
$data = [
['name' => 'Alice', 'age' => 25, 'gender' => 'female'],
['name' => 'Bob', 'age' => 30, 'gender' => 'male'],
['name' => 'Charlie', 'age' => 35, 'gender' => 'male'],
['name' => 'David', 'age' => 40, 'gender' => 'male'],
];
// 获取行和列
$rows = array_unique(array_column($data, 'age'));
$cols = array_unique(array_column($data, 'gender'));
// 初始化交叉表
$cross_table = [];
foreach ($rows as $row) {
$cross_table[$row] = [];
foreach ($cols as $col) {
$cross_table[$row][$col] = 0;
}
}
// 填充交叉表
foreach ($data as $item) {
$cross_table[$item['age']][$item['gender']]++;
}
// 输出交叉表
print_r($cross_table);
?>
这段代码将输出以下交叉表:
Array
(
[25] => Array
(
[female] => 1
[male] => 0
)
[30] => Array
(
[female] => 0
[male] => 1
)
[35] => Array
(
[female] => 0
[male] => 1
)
[40] => Array
(
[female] => 0
[male] => 1
)
)
这样,我们就可以通过交叉表来分析数据,例如计算每个年龄段男性和女性的数量,或者计算不同年龄段的平均数量等。
领取专属 10元无门槛券
手把手带您无忧上云