根据其他变量值和静态文本构造PHP变量名称

jkr*_*amp 3 php variable-variables

我想告诉我的函数根据星期几调用哪个变量.一周中的某一天存储在$ s_day中,我想要调用的变量根据它的日期而变化.

例如

我在$ d_monday_text1中存储了一个字符串'Welcome to the week'.而不是构建一组7个条件语句(例如,如果date = monday echo $ foo,否则如果date = tuesday echo $ bar ...),我可以通过连接名称来更改函数中调用的变量的名称吗?变量?

$s_day = date("l");
$text1 = '$d_'.$s_day.'_text1';
Run Code Online (Sandbox Code Playgroud)

我希望这个评估为$ d_monday_text1,如上所述,它具有"欢迎来到一周"的值.所以,以后我想用:

echo $text1;
Run Code Online (Sandbox Code Playgroud)

产生结果输出=欢迎来到一周.

我已经研究了变量变量,这可能是去这里的方法,但我正在努力学习语法.我可以让它回应连接的名称,但我无法弄清楚如何评估该名称.

Jan*_*nen 9

变量不是一个好主意 - 你应该使用数组.他们非常适合这个问题.

例如,您可以使用以下内容:

$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];
Run Code Online (Sandbox Code Playgroud)

数组是用于存储多个相关值数据格式,例如这些.