其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
【三元运算符的层次与应用】

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

三元运算符是大家都熟悉的了,在php手册中关于三元运算符的介绍有这段:

//===========
另外一个条件运算符是“?:”(或三元)运算符,它和 C 以及很多其它语言的操作一样。
PHP代码:

<?php
// Example usage for: Ternary Operator
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];
// The above is identical to this if/else statement
if (empty($_POST['action'])) {
    
$action = 'default';
} else {
    
$action = $_POST['action'];
}
?>  


对于表达式 (expr1) ? (expr2) : (expr3),如果 expr1 的值为 TRUE,则此表达式的值为 expr2,如果 expr1 的值为 FALSE,则此表达式的值为 expr3。
//===========



很简短的例子,很强的功能,基本原理也就是简单的判断,如果对如何执行否则如何。
有人讨论三元运算符的效率问题,在没确凿证据前我们先不考虑这个问题,知道他比if...else应用起来简短就好了。如果很长的话可以结构不够清晰,但是做为一句使用还不比较容易看懂的。好不说闲话........
看完php手册上的例子,对它很感兴趣,再找其他材料很少关于php中三元运算符的介绍,了解更多请看这个例子。以下是三元运算符的层次应用(未知正式命名为何,暂称层次):

PHP代码:

<?php
$user
='user';
$pwd='jx165';
$mail='uusseerr@domain.com';
$tel='867910000000';
$ck=$user==""?c_no:$pwd==""?c_no:$mail==""?c_no:$tel==""?c_no:c_yes;
echo
$ck=="c_no"?"请填写完整":"谢谢";
//swordmaple php
?>



这个例子是用于form的判断,同理可用做其他方面。
其实就如if...else多个判断效果,依次判断user、pwd、mail、tel的值是否为空,只不过比平常应用长了些多了几次。但提高了效率.

更多应用更待发掘.....

[本文可任意转载,请保留作者名称]


相关文章

相关软件