首页 / PHP / PHP本身是否支持连接和析取?
PHP本身是否支持连接和析取?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP本身是否支持连接和析取?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1184字,纯文字阅读大概需要2分钟。
内容图文
Javascript使用连接和析取运算符.
如果可以将其评估为:false,则返回左操作数:在结合(a&& b)的情况下为false,或者在析取(a || b)的情况下为true;否则返回右操作数.
PHP中是否存在等效运算符?
解决方法:
PHP支持短路评估,与JavaScript的结合略有不同.我们经常看到使用短路评估来测试PHP中MySQL查询结果的示例(即使不是很好的做法):
// mysql_query() returns false, so the OR condition (die()) is executed.
$result = mysql_query("some faulty query") || die("Error");
请注意,当在PHP中存在要在布尔运算符的任一侧进行求值的表达式时,短路评估将起作用,这将产生返回值.然后只有在左侧为假时才执行右侧.这与JavaScript不同:
简单地做:
$a || $b
将返回一个布尔值TRUE或FALSE,如果其中任何一个是真的或两者都是假的.如果$a是假的,它不会返回$b的值:
$a = FALSE;
$b = "I'm b";
echo $a || $b;
// Prints "1", not "I'm b"
因此,为了回答这个问题,PHP将对这两个值进行布尔比较并返回结果.它不会返回两者的第一个真值.
在PHP中更具惯用性(如果存在惯用的PHP这样的东西)将使用三元操作:
$c = $a ? $a : $b;
// PHP 5.3 and later supports
$c = $a ?: $b;
echo $a ?: $b;
// "I'm b"
PHP 7的更新
PHP 7引入了the ?? null coalescing operator,它可以更接近于连接.它特别有用,因为它不需要你检查左操作数的数组键上的isset().
$a = null;
$b = 123;
$c = $a ?? $b;
// $c is 123;
内容总结
以上是互联网集市为您收集整理的PHP本身是否支持连接和析取?全部内容,希望文章能够帮你解决PHP本身是否支持连接和析取?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。