php if 定义变量,无法在PHP中的if块中设置变量的值

本文探讨了一个PHP代码中,$URL变量为何在调用时始终指向'unknown.php'的问题。作者揭示了在条件判断中的变量赋值逻辑,并提到了变量声明与初始化的重要性。通过简化示例,解释了如何修正以实现正确季节相关的URL重定向。

有人可以解释为什么在调用标题($ URL)时,此代码中的$ URL变量始终设置为“Location:unknown.php”?如果我在第一行注释掉声明/初始化代码工作,但我得到一个变量未声明的警告(如果我在if块之前声明$ URL而没有初始化它,我也会收到这些警告)。

$URL = 'Location: unknown.php';

if ($spring){

if (($leaves)&&(!$stem)&&(!$root)&&(!$head)&&(!$whole)){$URL = 'Location: snow-mold.php';}

} else if ($other) {

if ((!$leaves)&&(!$stem)&&(!$root)&&($head)&&(!$whole)){$URL = 'Location: o01.php';}

if (($whole) || ($root) ){$URL = 'Location: o02.php';}

if (($leaves)&&($stem)&&(!$root)&&($head)&&(!$whole)){$URL = 'Location: o03.php';}

if (($leaves)&&($stem)&&(!$root)&&(!$head)&&(!$whole)){$URL = 'Location: o04.php';}

if ((!$leaves)&&($stem)&&(!$root)&&($head)&&(!$whole)){$URL = 'Location: o03.php';}

if (($leaves)&&(!$stem)&&(!$root)&&($head)&&(!$whole)){$URL = 'Location: o05.php';}

if ((!$leaves)&&($stem)&&(!$root)&&(!$head)&&(!$whole)){$URL = 'Location: o06.php';}

if (($leaves)&&(!$stem)&&(!$root)&&(!$head)&&(!$whole)){$URL = 'Location: o07.php';}

}

header($URL);

好的,我已经简化了代码以突出问题......

$spring = (isset($_POST['season']) && strcmp($_POST['season'],'spring') == 0);

$URL = 'Location: unknown.php';

if ($spring){

$URL = 'Location: snow-mold.php';

}

header($URL);

始终重定向到unknown.php。如果我将$URL = 'Location: unknown.php'更改为$URL;,当且仅当选择了spring时,代码会重定向到snow-mold.php,但我收到$ URL未定义的警告。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值