Basitleştirmek düz veya çok boyutlu olabilir bir dizi döngü

0 Cevap php

Çoğu zaman, ben işlemek için gereken her hangi bir takım değerleri tutan bir dizi olacak. Bazen, dizi sadece her değeri sürecinde koymak gerekiyor bu durumda bir tek dizi, yapacak. Diğer zamanlarda, dizi her değer bir dizi ve bu dizilerin her biri değeri işlenecek gerekecektir olacak durumda birçok setleri, yapacak. İşte bir örnek:

foreach($array as $key => $value) {
    if(is_array($value)) {
        foreach($value as $subkey => $subvalue) {
            //Process $subvalue here    
        }
    }
    else {
        //Process $value here
    }
}

Sorun işleme $ değer / $ subvalue için kod farklı bir değişken üzerinde çalışması dışında aynı olmasıdır. Bu basitleştirmek için bir yolu işlevi içine bu kodu koymak olurdu ama yine de iki kez aramak zorunda inelegant görünüyor. Dahası, o fonksiyonun dışında kod oldukça çok (foreach döngüleri ve dizi testi) bırakacaktı. Örneğin, benim doğrulama işlevini çağırmak istediğinizde iki foreach döngüleri ve bir dizi testi yazmak zorunda istemiyorum, süreç doğrulama olduğunu söylüyorlar.

Bunu yapmanın basit bir yolu var mı?

0 Cevap