我正在尝试确定数据的数据结构,该数组具有密钥的日期和作为值消耗的带宽量。
实施例
Key Consumed Policy
October 50 Basic
November 75 Basic
December 100 Basic
几个月,但不是全部,将有多个政策。在这种情况下,我需要在显示总数后按政策细分。因此,对于上面的示例,假设12月有3个策略。我从我的数组构建的表将需要显示:
Key Consumed Policy
October 50 Basic
November 75 Basic
December 100 ..
December 25 Basic
December 25 Extended
December 50 Premium
所有这些数据都可以在数组中表示吗?
$ myArray ['december']将是一个与其他数据结构不同的数据结构,因为它需要一个最后一个条目,可能是另一个数组,它将策略名称作为键,并将数据量作为值消耗。 PHP是否允许不统一结构的数组?即十月十八号和十一月在他们的密钥下只有两个条目,而十二月有两个条目加一个第三个是另外一个数组。
我最好的猜测是:
Array (
[October] => "50", "Basic"
[November] => "75", "Basic"
[December] => "100", "..", Array( [Basic] => 25
[Extended] =>25
[Premium] => 50
)
)
我的问题是,如果这是可能的,以及如何声明它并用PHP填充它的值。提前感谢您的任何澄清或帮助!
答案 0 :(得分:2)
让您的数据结构简单易懂。操作时要担心复杂性。
考虑如下结构:
<?PHP
$usageData = array(
'December' => array(
'policy' => array(
'Basic'=>50,
'Extended'=>25,
'Premium'=>25
)
),
'January' => array(
'policy'=> array(
'Basic'=>50
)
)
);
现在,您想要生成报告,所以...
<?PHP
function report($usage){
foreach($usage as $month=>$data){
if (count($data) > 1){
echo "{$month}\t..\t" . array_sum($data). "\n";
}
foreach($data as $policy=>$usage){
echo "{$month}\t{$policy}\t{$usage}\n";
}
}
}
这将生成您在问题中用作示例的报告。