Yerine içeriği değişken yapısı Echoing

2 Cevap php

Ben bir çeviriler dizinin iki farklı versiyonunu birleştirme ediyorum. Daha yeni sürüm kodu birkaç bin hatları üzerinden, bir çok değişiklik vardır.

Bunu yapmak için, ben yüklü ve yeni dosyayı değerlendirilmiştir (aynı yapı ve anahtar adlarını kullanır), ardından yüklenen ve biz zaten tercüme değerlerle dizisinde yeni çevrilmemiş değerlerinin üzerine, eski sürümü değerlendirildi.

Şimdiye kadar iyi!

Ancak, ben kesip yeni çeviri dosyasına yapıştırın ve iş (dışında çevirilerin kalanını tamamlamasını ..) yapmış, böylece bu yeni birleştirilmiş dizi için kurucu echo edebilmek istiyorum.

Kod böyle (farklı tuşları, sadece indeks çok) görünüyor:

$lang["index"]["chart1_label1"] = "Subscribed";
$lang["index"]["chart1_label2"] = "Unsubscribed";

Ve eski ..

$lang["index"]["chart1_label1"] = "Subscrito";
$lang["index"]["chart1_label2"] = "Não subscrito";

Iki dosya yükledikten sonra, ben daha sonra aynı formda echo istediğiniz birleştirilmiş $ lang dizi ile sonuna kadar, yani bu proje tarafından kullanılabilir.

Ancak, ben böyle bir şey yaptığınızda ..

foreach ($lang as $key => $value) { 
    if (is_array($value)) {
        foreach ($value as $key2 => $value2) {
            echo "$lang['".$key."']"; // ... etc etc
        }
    }
}

.. Açıkçası ben olsun "arrayIndex" vs vs yerine "$ lang" arasında. Nasıl değerlendirilen olmadan $ lang echo için ..? Bu çalışma sonra, (onlar eksik gerçekleştirmek vb) parantez kalanı eklemek, ama sadece ilk bölümü bu işi yapmak istiyor olabilir.

Bunu yapmak için daha iyi bir yolu varsa, bütün kulaklar çok!

Teşekkürler.

edit:

Ben gerçekten aradığım buydu this:

"Not:. Özel karakterler için diğer üç sözdizimlerinin, değişkenler ve kaçış dizilerinden farklı olacak not be expanded when they occur in single quoted strings"

Bu yüzden bile kaçmaya gerek yok. Birisi için kullanışlı bir gün gelebilir ... dizileri birleştirme hakkında, aynı zamanda kullanışlı geldi array_merge için PHP kılavuzu sayfasında fonksiyonu birleştirme büyük bir özyinelemeli array (), var.

Downvoted kim için teşekkürler! De seni seviyorum.

2 Cevap

"\$lang" veya tek tırnak kullanın: $ kaçmak ya '$lang'

Tüm soru sadece "nasıl PHP dolar işareti Ben çıktı yapmak" aşağı kaynar Eğer gerçekten, backstory bütün bir sayfa göndermek gerekmez unutmayın

there is var_export() function, but I do not understand the purpose of this terrible mess.
It's all too... manual

neden bir kullanmak için gettext - çoklu dil site için bir endüstri standardı?

or at least some other format, more reliable than plain PHP one?
Programming code is not intended to be written automatically.