麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
【三元运算符的层次与应用】
悬赏分:20 - 2007年08月15日

三元运算符是大家都熟悉的了,在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'];
}
?>
[/PHP]
对于表达式 (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_nopwd==""?c_nomail==""?c_notel==""?c_no:c_yes;
echo $ck=="c_no"?"请填写完整":"谢谢";
?>
[/PHP]

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

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

提问者:剑枫   08-15 09:09
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
60 + 65 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM