首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在php中从数组构建"交叉表"或"数据透视表"

在 PHP 中,从数组构建交叉表或数据透视表可以通过以下步骤实现:

  1. 确定交叉表的行和列:首先,需要确定交叉表的行和列,这可以通过遍历数组并提取所有唯一的行和列值来实现。
  2. 初始化交叉表:接下来,需要初始化交叉表,将所有行和列组合成一个二维数组。
  3. 填充交叉表:最后,需要遍历原始数组,将数据填充到交叉表中。

以下是一个简单的示例代码,演示如何在 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);
?>

这段代码将输出以下交叉表:

代码语言:txt
复制
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
        )
)

这样,我们就可以通过交叉表来分析数据,例如计算每个年龄段男性和女性的数量,或者计算不同年龄段的平均数量等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券