当我不知道要显示哪些变量时,PHP回显变量
我有日历。用户选择他/她想要阻止的日期。在数据库中,它们以假日名称保存为数组:当我不知道要显示哪些变量时,PHP回显变量,php,string,variables,Php,String,Variables,我有日历。用户选择他/她想要阻止的日期。在数据库中,它们以假日名称保存为数组: a:3:{i:0;s:6:"easter";i:1;s:12:"thanksgiving";i:2;s:9:"christmas";} 在一个文件中,我有每个文件的日期字符串: $thanksgiving = " [11, 27, 2014], [11, 26, 2015], [11, 24, 2016], [11, 23, 2017], [11, 22, 2018], [11, 28, 2019], [11, 2
a:3:{i:0;s:6:"easter";i:1;s:12:"thanksgiving";i:2;s:9:"christmas";}
在一个文件中,我有每个文件的日期字符串:
$thanksgiving = "
[11, 27, 2014],
[11, 26, 2015],
[11, 24, 2016],
[11, 23, 2017],
[11, 22, 2018],
[11, 28, 2019],
[11, 26, 2020],
[11, 25, 2021],
[11, 24, 2022],
[11, 23, 2023]
";
$christmas = "
[12, 25, 2014],
[12, 25, 2015],
[12, 25, 2016],
[12, 25, 2017],
[12, 25, 2018],
[12, 25, 2019],
[12, 25, 2020],
[12, 25, 2021],
[12, 25, 2022],
[12, 25, 2023]
";
$fourthofjuly = "
[07, 04, 2015],
[07, 04, 2016],
[07, 04, 2017],
[07, 04, 2018],
[07, 04, 2019],
[07, 04, 2020],
[07, 04, 2021],
[07, 04, 2022],
[07, 04, 2023]
";
等等
$blocked_holidays is the array retrieved from the DB
When I try to echo it:
$blocked_string = implode(", $", $blocked_holidays);
$blocked_string = "[ $" . $blocked_string . " ]";
echo $blocked_string;
I get: [ $newyears, $thanksgiving, $christmas ]
如何让它回显字符串的值
如果我将其更改为:
$$thanksgiving = "
[11, 27, 2014],
[11, 26, 2015],
[11, 24, 2016],
[11, 23, 2017],
[11, 22, 2018],
[11, 28, 2019],
[11, 26, 2020],
[11, 25, 2021],
[11, 24, 2022],
[11, 23, 2023]
";
$$christmas = "
[12, 25, 2014],
[12, 25, 2015],
[12, 25, 2016],
[12, 25, 2017],
[12, 25, 2018],
[12, 25, 2019],
[12, 25, 2020],
[12, 25, 2021],
[12, 25, 2022],
[12, 25, 2023]
";
$$fourthofjuly = "
[07, 04, 2015],
[07, 04, 2016],
[07, 04, 2017],
[07, 04, 2018],
[07, 04, 2019],
[07, 04, 2020],
[07, 04, 2021],
[07, 04, 2022],
[07, 04, 2023]
";
及
它会回显日期,但只会回显最新的变量,而不是所有的变量。也许这可以帮助您:
$blocked_holidays=array("a", "b", "c");
$a=1; $b=2; $c=3; //testing values
编辑
我想我明白了你想做的事:
$blocked_string=implode(", $", $blocked_holidays);
$blocked_string=eval('echo "[$'.$blocked_string.']";');
echo $blocked_string;
//or simply
$blocked_string=eval('echo "[$'.implode(", $", $blocked_holidays).']";');
尝试签出variables变量,$$variable无法使其工作。我确实找到了这个:并试图让它发挥作用。最接近的时候,它只会显示最后一个变量字符串。检查编辑。这是我对变量的尝试。这回答了问题:不完全是我要做的。
$blocked_string=array();
foreach ($blocked_holidays as $value) {
array_push($blocked_string, ${$value});
}
echo '['.implode($blocked_string, ',').']';
$blocked_string=implode(", $", $blocked_holidays);
$blocked_string=eval('echo "[$'.$blocked_string.']";');
echo $blocked_string;
//or simply
$blocked_string=eval('echo "[$'.implode(", $", $blocked_holidays).']";');