PHP存储变量而不回显?

PHP存储变量而不回显?,php,Php,我正试图使用一个开关来根据日期更改文本/图像,然而,出于某种原因,我不得不实际echo$current\u date否则我的开关似乎没有拾取值 $start_date = '2018-10-15'; $end_date = '2018-10-27'; $current_date = date('Y-m-d'); echo $current_date; while (strtotime($start_date) <= strtotime($end_date)) { swit

我正试图使用一个开关来根据日期更改文本/图像,然而,出于某种原因,我不得不实际
echo$current\u date否则我的开关似乎没有拾取值

$start_date = '2018-10-15';
$end_date = '2018-10-27';
$current_date = date('Y-m-d');

echo $current_date;
    while (strtotime($start_date) <= strtotime($end_date)) {
    switch($current_date) {
        case "2018-10-15":
            $text = 'todays text';
            $image = 'https://www.image.com';
            break;
        case "2018-10-16":
            $text = 'todays text2';
            $image = 'https://www.image.com2';
            break;
    }
}

echo $text;
$start_date='2018-10-15';
$end_日期='2018-10-27';
$current_date=日期('Y-m-d');
echo$当前日期;

while(strotime($start_date)
while(strotime($start_date)
while(strotime($start_date)您的问题不是回显日期,因为它对切换完全没有影响。
问题是while循环永远不会结束(
$start\u date
$end\u date
是静态的,因此
start\u date
总是小于或等于
$end\u date

同样地,你的永无止境的while循环会阻止任何输出被发送到stdout。预先回显日期只会让你产生某种工作或不工作的错觉,但这只是错觉

防止无限循环很重要。应始终放置一些控件以防止循环失控。它可以是计数器,在给定的迭代次数后停止,在下一次迭代后放置的停止会产生小于给定阈值的结果变化,等等

如果您只想输入代码的某些部分,那么如果当前日期介于开始日期和结束日期之间,则可以在以下情况下使用双子句

if ($current_date >= $start_date && $current_date <= $end_date)
{
  // Do whatever you need when you are between the boundary dates
}

如果($current\u date>=$start\u date&&$current\u date您的问题不是回显日期,因为它对切换没有任何影响。
问题是while循环永远不会结束(
$start\u date
$end\u date
是静态的,因此
start\u date
总是小于或等于
$end\u date

同样地,你的永无止境的while循环会阻止任何输出被发送到stdout。预先回显日期只会让你产生某种工作或不工作的错觉,但这只是错觉

防止无限循环很重要。应始终放置一些控件以防止循环失控。它可以是计数器,在给定的迭代次数后停止,在下一次迭代后放置的停止会产生小于给定阈值的结果变化,等等

如果您只想输入代码的某些部分,那么如果当前日期介于开始日期和结束日期之间,则可以在以下情况下使用双子句

if ($current_date >= $start_date && $current_date <= $end_date)
{
  // Do whatever you need when you are between the boundary dates
}


if($current\u date>=$start\u date&&$current\u date我看不到任何代码。请阅读。依赖外部资源理解的问题在外部资源消失或修复后将变得毫无用处。创建一个,并将其放在问题本身中。嗯,如果我对t进行注释,您的回复中没有
echo
,看起来还可以他
echo$current\u date
仍然使用
echo
回显
'todays text'
根本不会更改变量的状态。没有它,您的代码工作正常。您正在创建一个不存在的相关性。我建议进一步测试。我看不到任何代码。请阅读。需要了解依赖外部资源的问题当外部资源消失或被修复时,tood将变得无用。创建一个,并将其放在问题本身中。嗯,如果我注释掉
echo$current\u date
它仍然使用
echo
回显
'todays text'
不会改变变量的状态,那么在您的repl中没有
echo
看起来还可以你的代码在没有它的情况下工作得很好。你正在做一个不存在的关联。我建议进一步的测试。谢谢你的回答,这是有意义的。但是,CurrnEnter日期不会更新吗?因此,如果当前的日期在开始/结束日期内,它应该只进入while循环吗?你必须在条件下考虑CurrnRealDATE。n为结束而循环感谢的答案,这是有意义的,但是,CurrnEnter日期不会更新,所以它应该只进入while循环,如果当前的日期是在开始/结束日期内?你必须考虑CurrnEndIn in in while while while while while感谢你,哈维尔的详细答案。我只是有点迷惑。d如何将开始日期和结束日期绑定到当前日期,或者仅在选择的日期切换,我是否只需要当前日期?您到底想要什么?仅在当前日期介于开始日期和结束日期之间时执行操作?是的,这是正确的--我只想更改开始/结束日期内的文本/图像我更新了我的ans嗯,检查下半部分,让我知道这是否有效谢谢完美,我已经尝试了一段时间了…需要弄清楚何时使用if和何时使用while…再次感谢!谢谢你,Javier的详细回答。我只是有点困惑如何将开始日期和结束日期绑定到当前日期,或者与仅在选择日期时切换,我是否只需要当前日期?您到底想要什么?仅当当前日期介于开始日期和结束日期之间时才执行操作?是的,这是正确的-我只想更改文本/图像,如果它在开始/结束日期内我更新了我的答案,请检查底部部分,并让我知道这是否有效,我刚刚尝试了一模一样的方法,但仍然有一段时间…需要弄清楚何时使用if和何时使用while…再次感谢!