PHP:返回if(){}的一部分
假设我有以下代码:PHP:返回if(){}的一部分,php,Php,假设我有以下代码: if (md5($_POST[$foo['bar']]) == $somemd5) { doSomethingWith(md5($_POST[$foo['bar']]); } 我可以通过以下方式缩短时间: $value = md5($_POST[$foo['bar']]; if ($value == $somemd5) { doSomethingWith($value); } 但是否有任何预设变量包含当前if的第一个或第二个条件?例如: if (md5($_POS
if (md5($_POST[$foo['bar']]) == $somemd5) {
doSomethingWith(md5($_POST[$foo['bar']]);
}
我可以通过以下方式缩短时间:
$value = md5($_POST[$foo['bar']];
if ($value == $somemd5) {
doSomethingWith($value);
}
但是否有任何预设变量包含当前if的第一个或第二个条件?例如:
if (md5($_POST[$foo['bar']]) == $somemd5) {
doSomethingWith($if1);
}
可能是一种不必要的方式,但我只是想知道。不,但是由于赋值本身是一个表达式,因此可以将赋值用作if语句的条件表达式 if (($value = md5(..)) == $somemd5) { ... } 如果($value=md5(..)==$somemd5{…} 但是,一般来说,您希望避免将赋值嵌入条件表达式:
- 代码更密集,因此更难阅读,带有更多嵌套的括号
- 在同一个表达式中,Mixing=和==只是要求它们混淆
虽然这样做并没有什么好处,只会让阅读变得更复杂。几乎没有捷径。这不是一个。所以我不应该这样做,托比特?我同意这不完全是“最佳实践”,但我觉得问题末尾的免责声明“可能没有必要……我只是想知道”,给了我一些余地。在大多数情况下,你会想用你的第二个例子。什么是
foo
,打字错误?你是说$foo
?@ColeJohnson你是对的,我是说$foo
。
doSomethingWith($value);