gpt4 book ai didi

if 条件下的 php 变量赋值

转载 作者:可可西里 更新时间:2023-11-01 13:39:27 25 4
gpt4 key购买 nike

下面两个 if 产生了不同的结果(第一个 if 回应 hi,第二个不回应),为什么?为什么 $t 上的变量赋值不起作用?这是由于 $tif 条件语句中的局部范围吗?

if(isset($_REQUEST["test"]) && $t=trim($_REQUEST["test"]) && !empty($t)){
echo 'hi'
}

if(isset($_REQUEST["test"]) && $t=trim($_REQUEST["test"])){
if(!empty($t))echo 'hi'
}

最佳答案

&& 有一个 higher precedence=,因此第一个表达式的计算结果为:

isset($_REQUEST['test']) && $t = (trim($_REQUEST['test']) && !empty($t))

由于 !empty($t) 在赋值给 $t 之前被求值,表达式为 false。您可以通过显式设置括号或使用不那么笨拙的方式来解决此问题:

if (isset($_REQUEST['test']) && trim($_REQUEST['test'])) {
echo 'hi';
}

trim($_REQUEST['test']) 将单独评估为 truefalse,没有 empty 必要的。如果您以后确实需要 trimmed 值,您可以像这样保存它:

if (isset($_REQUEST['test']) && ($t = trim($_REQUEST['test']))) {
echo 'hi';
}

关于if 条件下的 php 变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5467151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com