可以在 php 中对条件语句进行赋值吗?
Posted
技术标签:
【中文标题】可以在 php 中对条件语句进行赋值吗?【英文标题】:Can one make an assignment on conditional statement in php? 【发布时间】:2011-01-12 20:43:58 【问题描述】:你能像这样在 php 中对条件语句进行赋值吗:
if(siteName_err = isValid("sitename", $_POST['sitename'], false))
$siteName = $_POST['sitename'];
【问题讨论】:
你们在 *** 上放手!感谢您的周转。太棒了! @JAL,好吧,在 Python 中,赋值是语句,而不是带有值的表达式。但您仍然可以使用该语言完成工作。 【参考方案1】:是的。
我认为最常见的使用场景是在使用 mysql 时。例如:
$result = mysql_query("SELECT username FROM user");
while ($user = mysql_fetch_assoc($result))
echo $user['username'] . "\n";
这是有效的,因为$user
是分配的结果。意思是,存储在您的作业中的任何内容都将用作条件。换句话说,
var_dump($i = 5);
// is equivalent to
$i = 5;
var_dump($i);
显然,两者都会打印int(5)
。
【讨论】:
【参考方案2】:是的。
老实说,你为什么不试试呢?不允许您执行此类操作的语言通常会产生编译器/解析器错误。
PHP 的大部分基本句法元素都来自 C,其中包括每个赋值都返回一个值。因此这是有效的。
【讨论】:
但是当你学习的时候,即使事情看起来确实有效,你也不能保证它是正确的或正确的,或者不会导致未来的问题。对问题有一个清晰简洁的答案当然会很有用。【参考方案3】:是的,你可以这样做。
如果您之所以询问是因为您尝试了它并遇到了一个疯狂的错误,请尝试通过在 $
前面加上一个美元符号来使 siteName_err
成为一个有效的变量名。
【讨论】:
【参考方案4】:是的,当然,你也可以对 while 结构做同样的事情
【讨论】:
以上是关于可以在 php 中对条件语句进行赋值吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何优化Oracle在where条件中用了自定义函数的SQL语句