php中不能用连续三目的写法吗 本帖最后由 lghyt2 于 2014-01-07 11:20:34 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然可以!$val = ($bqr[classid]==7) ? $arrImg[0][$bqno3-1]:($bqr[classid]==8) ? $arrImg[1][$bqno3-1]:($bqr[classid]==9) ? $arrImg[2][$bqno3-1]:($bqr[classid]==10) ? $arrImg[3][$bqno3-1]:false; $val=($bqr[classid]==7)?$val=$arrImg[0][$bqno3-1]: ($bqr[classid]==8)?$val=$arrImg[1][$bqno3-1]: ($bqr[classid]==9)?$val=$arrImg[2][$bqno3-1]: ($bqr[classid]==10)?$val=$arrImg[3][$bqno3-1]:0; if($bqr[classid]==7)$val=$arrImg[0][$bqno3-1]; if($bqr[classid]==8)$val=$arrImg[1][$bqno3-1]; if($bqr[classid]==9)$val=$arrImg[2][$bqno3-1]; if($bqr[classid]==10)$val=$arrImg[3][$bqno3-1]; 下面这个就能正常输出,上面的NO 内层的三目运算用括号完整括起来看来你突发奇想,不能乱括的,想象力的丰富要建议在遵守游戏规则的基础上。这跟想象力的丰富没有关系,关键再与自己的逻辑,让你括起来,并不是让你乱括呀!拿你上面的举例:$bqr['classid'] = 8;$val = ($bqr['classid']==7) ? 1: (($bqr['classid']==8) ? 2: (($bqr['classid']==9) ? 3: (($bqr['classid']==10) ? 4:false)));这样括起来,是不是你想要的呢 嗯,出现歧义了其实这样写不是很清晰吗?$d = array( 7 => $arrImg[0][$bqno3-1], 8 => $arrImg[1][$bqno3-1], 9 => $arrImg[2][$bqno3-1], 10 => $arrImg[3][$bqno3-1]);$val = $d[$bqr['classid']]; 你这样写,不带括号,等价于(( ( ($bqr[classid]==7) ? $val=$arrImg[0][$bqno3-1]:($bqr[classid]==8)) ? $val=$arrImg[1][$bqno3-1]:($bqr[classid]==9)) ? $val=$arrImg[2][$bqno3-1]:($bqr[classid]==10)) ? $val=$arrImg[3][$bqno3-1]:false; 额,抱歉,发帖太少,不会用这个编辑器,代码是这样的(((($bqr[classid]==7) ? $val=$arrImg[0][$bqno3-1]:($bqr[classid]==8)) ? $val=$arrImg[1][$bqno3-1]:($bqr[classid]==9)) ? $val=$arrImg[2][$bqno3-1]:($bqr[classid]==10)) ? $val=$arrImg[3][$bqno3-1]:false; PHP新手入门必备之书是what? php与flash通信谁能给讲解一下! 求解登录SQL注入方法! 为什么我的代码无法插入记录到数据库 怎么在电脑里面同时安装商城的程序和另外一个discuz的程序? 散点分,加我好友的,现在没有权限操作!抱歉! 准备学PHP了.以后得多多向大家请教. 急!!!我有个php程序要请调试,给100分。请赐教!!! 一个循环判断进入了误区 请求指导 求帮助,关于paypal支付返回值修改订单状态 怎么搭建外网服务器? 安装php程序错误问题
($bqr[classid]==8) ? $arrImg[1][$bqno3-1]:
($bqr[classid]==9) ? $arrImg[2][$bqno3-1]:
($bqr[classid]==10) ? $arrImg[3][$bqno3-1]:false;
$val=($bqr[classid]==7)?$val=$arrImg[0][$bqno3-1]:
($bqr[classid]==8)?$val=$arrImg[1][$bqno3-1]:
($bqr[classid]==9)?$val=$arrImg[2][$bqno3-1]:
($bqr[classid]==10)?$val=$arrImg[3][$bqno3-1]:0; if($bqr[classid]==7)$val=$arrImg[0][$bqno3-1];
if($bqr[classid]==8)$val=$arrImg[1][$bqno3-1];
if($bqr[classid]==9)$val=$arrImg[2][$bqno3-1];
if($bqr[classid]==10)$val=$arrImg[3][$bqno3-1]; 下面这个就能正常输出,上面的NO
内层的三目运算用括号完整括起来看来你突发奇想,不能乱括的,想象力的丰富要建议在遵守游戏规则的基础上。
这跟想象力的丰富没有关系,关键再与自己的逻辑,让你括起来,并不是让你乱括呀!
拿你上面的举例:$bqr['classid'] = 8;
$val = ($bqr['classid']==7) ? 1: (($bqr['classid']==8) ? 2: (($bqr['classid']==9) ? 3: (($bqr['classid']==10) ? 4:false)));这样括起来,是不是你想要的呢
其实这样写不是很清晰吗?
$d = array(
7 => $arrImg[0][$bqno3-1],
8 => $arrImg[1][$bqno3-1],
9 => $arrImg[2][$bqno3-1],
10 => $arrImg[3][$bqno3-1]
);
$val = $d[$bqr['classid']];
你这样写,不带括号,等价于(( ( ($bqr[classid]==7) ? $val=$arrImg[0][$bqno3-1]:($bqr[classid]==8))
? $val=$arrImg[1][$bqno3-1]:
($bqr[classid]==9)) ? $val=$arrImg[2][$bqno3-1]:
($bqr[classid]==10)) ? $val=$arrImg[3][$bqno3-1]:false;
(((($bqr[classid]==7) ? $val=$arrImg[0][$bqno3-1]:($bqr[classid]==8))
? $val=$arrImg[1][$bqno3-1]:($bqr[classid]==9))
? $val=$arrImg[2][$bqno3-1]:($bqr[classid]==10))
? $val=$arrImg[3][$bqno3-1]:false;