您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

三目运算符 notice 提示

2025/5/10 0:54:10发布35次查看
$act = isset($_post['act']) ? $_post['act']:(isset($_get['act']) ? $_get['act']:'login');
上面代码 最后一个三目运算符 为什么一定加小括号括起来,如果不括起来 就会出现notice错误
回复讨论(解决方案) 不存在你说的现象
notice: undefined index: act in c:\users\john\desktop\shop\admin\privilege.php on line 3
至少是你没有反映这是情况
这个怎么个回事?怎么会报一个notice呢?
你是说我 #3 的截图?
第二行 $act 未赋值就直接使用(echo $act;),那自然是要报 notice 的
但第三行并没有你要添加的括号,却也没有报 notice
我这样做是为了证明:我并没有屏蔽掉 notice 级别错误
我也没有用@屏蔽错误呢 怎么加了括号就没有naotice错误 没加括号就有。
没有问题。
估计你提供的代码不完整,那个notice是其他地方的。

还是不知道原因, 没加括号就notice 说这个变量 没定义,我又var_dump 了下 这个act也有数据呢:
array(4) { [act]=> string(6) signin [username]=> string(0) [password]=> string(0) [captcha]=> string(0)
我换成这样就没事了 $act = isset($_request['act']) ? $_request['act']:isset($_request['act']) ? $_request['act']:'login';
都统一 $_request
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product