Çok boyutlu bir dizi için bir öğe ekleme

2 Cevap

Nasıl anahtar "url_slug" ve değer "foo" ile aşağıda dizi ve dizi başına bir eleman aracılığıyla ben döngü olabilir? Ben array_push ile denedim ama (o görünüyor?) Bir foreach ya bunu yapmaz ($ k => $ v $ dizi as) yapmak kilit isimlerin kurtulur, ben düşünüyorum.

Yeni dizi sadece yukarıda anahtar / değerleri ile 4 dizi başına unsurları yerine 3, sahip tam aynı olmalıdır.

Array
(
    [0] => Array
        (
            [name_en] => Test 5
            [url_name_nl] => test-5
            [cat_name] => mobile
        )

    [1] => Array
        (
            [name_en] => Test 10
            [url_name_nl] => test-10
            [cat_name] => mobile
        )

    [2] => Array
        (
            [name_en] => Test 25
            [url_name_nl] => test-25
            [cat_name] => mobile
        )

)

EDIT: Tam çalışma çözüm. Başlangıçta açıklanan daha biraz daha karmaşık

foreach ($prods as $key => &$value)
        {
            if($key == "cat_name") $slug = $value['cat_name'];          
            $url_slug = $this->lang->line($slug);       
            $value['url_slug'] = $url_slug;
        }

2 Cevap

Siz foreachta değeri değiştirmeniz gerekir. Ve kullan foreachta.

Bu deneyin:

 foreach ($array as $key => &$value)
   $value['url_slug'] = $url_slug;

Dizinizi varsayarsak $ a ise

foreach($a AS $key=>$value) {
    $a[$key]['url_slug'] = 'foo';
}