Nasıl oluşturmak ve PHP olmayan yeknesak yapılandırılmış dizi doldurmak?

1 Cevap php

Ben anahtarı için bir tarih ve değerler olarak tüketilen bant genişliği miktarını sahip bir dizi için bir veri yapısı üzerinde karar çalışıyorum.

örnekler

Key       Consumed          Policy            
October   50                 Basic
November  75                 Basic
December  100                Basic

Birkaç ay, ama hepsi değil, birden fazla politika olacaktır. Bu durumda, ben toplam gösterilir kez politikası onları yıkmak gerekir. Bu nedenle, yukarıdaki örneğin, 3 Aralık ilkeleri vardı varsayalım. Benim diziden inşa tabloyu, daha sonra göstermek gerekir:

Key       Consumed           Policy            
October   50                 Basic
November  75                 Basic
December  100                ..
December  25                 Basic
December  25                 Extended
December  50                 Premium

Tüm bu veriler bir dizi temsil olabilir mi?

Bu anahtarları ve değerleri olarak tüketilen veri miktarı olarak politika isimleri vardı bir son girişi, muhtemelen başka bir dizi gerekir çünkü $ myArray ['Aralık'] diğerlerinden farklı bir veri yapısı olacaktır. PHP düzgün yapılandırılmış olmayan diziler için izin veriyor mu? 2 Aralık girişleri artı ek bir dizidir bir 3 sahipken, yani anahtar Ekim ve Kasım onların anahtarının altında sadece 2 kayıtları var.

Benim en iyi tahminim gibi bir şeydir:

Array (
    [October] => "50", "Basic"
    [November] => "75", "Basic"
    [December] => "100", "..", Array( [Basic] => 25
                                      [Extended] =>25
                                      [Premium] => 50
                                                     )
       )

Bu mümkün olduğunu ve nasıl beyan ve PHP ile değerlerle doldurmak için eğer benim bir soru. Herhangi bir açıklama ya da yardım için şimdiden teşekkürler!

1 Cevap

Anlamak için basit ve kolay veri yapısı tutun. Bunu çalıştırdığınızda karmaşıklığı endişe.

Gibi bir yapı düşünün:

<?PHP
$usageData = array(
  'December' => array(
    'policy' => array(
      'Basic'=>50,
      'Extended'=>25,
      'Premium'=>25
    )
  ),
  'January' => array(
    'policy'=> array(
      'Basic'=>50
    )
  )
);

Şimdi, bir rapor oluşturmak istiyorum, bu yüzden ...

<?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";
    }
  }
}

Sorunuza bir örnek olarak kullanmak rapor üretecek.