Bir PHP diğer değişken değerlere dayalı bir değişken adı ve statik metni Construct

2 Cevap php

Ben hangi değişkenin haftanın günü dayalı aramak için benim işlevini anlatmak istiyorum. Haftanın günü $ s_day saklanır, ve ben hangi gün dayalı değişiklikler aramak istediğiniz değişkenleri.

örneğin

I've stored a string 'Welcome to the week' in $d_monday_text1. Rather than build a set of 7 conditional statements (örneğin if date=monday echo $foo, else if date=tuesday echo $bar...), can I change the name of the variable called in the function by concatenating the name of the variable?

$s_day = date("l");
$text1 = '$d_'.$s_day.'_text1';

Bu, yukarıda da belirtildiği gibi, "hafta" Welcome değeri olan $ d_monday_text1, değerlendirir umuyorum. Yani, daha sonra ben kullanmak isterdim:

echo $text1;

Hafta çıkan çıkış = Hoşgeldiniz verim.

Ben buraya gitmek için yol olabilir, hangi değişken değişkenler içine baktım, ama sözdizimi ile mücadele ediyorum. Ben Zincirleme adını yankı alabilirsiniz, ama ben bu ismi değerlendirilmiştir almak için nasıl anlamaya olamaz.

2 Cevap

Değişken değişkenler iyi bir fikir değil - Sen ziyade diziler kullanmalısınız. Onlar çok daha iyi, çok daha bu sorunu uygun.

Örneğin, bu gibi bir şey kullanabilirsiniz:

$messages = array(
    'monday' => 'Welcome to the week',
    'tuesday' => 'Blah blah',
    'wednesday' => 'wed',
    'thursday' => 'thu',
    'friday' => 'fri',
    'saturday' => 'sat',
    'sunday' => 'week is over!'
);

$dayName = date('l');
echo $messages[$dayName];

Diziler Bu gibi birden çok ilgili değerleri saklamak için kullanılabilir the veri formatı vardır.

Bu sözdizimini kullanabilirsiniz:

$ $ Text1

Ben daha önce bu kullandım. Değerlendirme olarak gelir:

$ ($ Text1)