Dinamik php dizi tuşları nasıl ayarlanır

0 Cevap php

Ben verileri sıralamak için kullanılan ancak veriler farklı gruplandırılır kullanıcı girişine bağlı olan bazı mantık var. Şu anda aynı mantık ama farklı gruplar içeren beş farklı işlevlere sahiptir. Bu fonksiyonları birleştiren ve dinamik edecek grup düzgün bir değer ayarlamak için bir yolu var mı. Fonksiyonu içinde bu atamaları gerçekleşiyor

Örneğin, bazen sadece tarafından hesaplamaları saklamak:

$calcs[$meter['UnitType']['name']] = ...

ama diğer zamanlarda daha spesifik bir gruplandırma gerekir:

$calcs[$meter['Resource']['name']][$meter['UnitType']['name']][date('Y-m',$start)] =...

Bazen görmek gibi bir multidiminesional dizi ve diğer zamanlarda değil saklanır. Ben eval kullanmaya çalışıyorlar () ancak başarılı olamadı (emin doğru bir yaklaşım değildir). Geçici bir değişken olarak veri depolamak gerçekten çok iç içe döngüler vardır çünkü çok tasarruf ve değil dizi birden fazla yerde tekrar edilmesi gerekir diye ifadeler eğer.

EDIT

Ben şu örnek daha iyi benim sorunu açıklar umuyoruz. Açıkçası bir dumbed sürümü:

if(){
     $calcs[$meter['UnitType']['name']] = $data;
} else {
    while () {
       $calcs[$meter['UnitType']['name']] = $data;
    }
} 

Şimdi aynı mantık kullanılan ancak farklı anahtarları depolamak için olabilir:

if(){
     $calcs[$meter['Resource']['name']][$meter['UnitType']['name']][date('Y-m',$start)] = $data;
} else {
    while () {
       $calcs[$meter['Resource']['name']][$meter['UnitType']['name']][date('Y-m',$start)] = $data;
    }
} 

Bunun yerine, farklı dizi tuşları ile birden fazla fonksiyonları olan bir fonksiyon olabilir böylece $ kalk [] dizisi içinde tuşları dışarı soyut bir yolu var mı?

0 Cevap