我有以下代码:
<?php
$dates = array('2014-12-01','2014-12-02','2014-12-08','2014-12-09','2014-12-10','2014-12-11');
$values = array(5,3,7,8,9,2);
foreach ($dates as $date){
//Array of the regarded days names is generated
$days[] = strtolower(date('l', strtotime($date)))."\n";
}
for ($i = 0; $i < count($days); $i++){
$day = $days[$i];
$$day = $values[$i];
}
echo $monday;
?>
echo $monday
没有打印任何值,我希望它打印8,因为在最后一个循环中我有一个名为$day
的变量,该值的最后一个设置应为8那么为什么它没有正确设置?!
这是一个演示:http://codepad.org/VDIyBuq3
答案 0 :(得分:4)
这是你的问题:
$days[] = strtolower(date('l', strtotime($date)))."\n";
^^^^^ here
您要在价值的末尾添加换行符,因此您的值不会是monday
,而是monday\n
。
删除它:
$days[] = strtolower(date('l', strtotime($date)));