PHP çok boyutlu dizi değerleri işleyerek

0 Cevap php

Ben gibi görünen bir veritabanından bir dizi olarak ayarlanmış bir sonuç var:

array (
    0 => array (
        "a" => "something"
        "b" => "something"
        "c" => "something"
    )
    1 => array (
        "a" => "something"
        "b" => "something"
        "c" => "something"
    )
    2 => array (
        "a" => "something"
        "b" => "something"
        "c" => "something"
    )
)

Nasıl sadece b dizi anahtar bir dizinin değerlerini değiştirmek için bir işlev geçerli olacak? Normalde ben sadece bir foreach döngüsü ile yeni bir dizi yeniden ve dizi anahtarı b ise işlevi uygulamak, ama en iyi yolu ise emin değilim olacaktır. Birçok dizi fonksiyonları bir göz alarak denedim ve array_walk_recursive kullandığım bir şeydir gibi görünüyordu, ama ben ne istersem almakla şans yoktu. Ben yeterince iyi tarif değilim eğer, temelde ben kod aşağıda olduğu gibi yapabilmek istiyorum:

$arr = array();
foreach ($result as $key => $value)
{
    foreach ($value as $key2 => $value2)
    {
        $arr[$key][$key2] = ($key2 == 'b' ? $this->_my_method($value2) : $value2);
    }    
}

O sopa ile, veya daha iyi bir yolu var mıdır?

0 Cevap