两道面试题

qq_15948929 2015-03-24 07:45:24
1. 下面语句输出什么?为什么?
if ($a=$b) printf(“a==b”);
else printf(“a!=b”);
2. $array[‘anykey’]和$array[anykey]有什么区别?
(我的想法:第一题 因为$a=$b ,而$b没赋值,所以两个都为空,输出"a==b".但实际运行时输出"a!=b",这个我就不解了.
第二题 我就不知道这题的用意了,一个索引是字符,一个是变量吧)
...全文
148 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2015-03-24
  • 打赏
  • 举报
回复
1. $a=$b 因为$b没有值,所以是null,$a=$b后,$a也是null,所以if($a) 为null 即false 如果加一句 $b=1; if ($a=$b) printf("a==b"); else printf("a!=b"); 这样就返回true 2. $array[‘anykey’]和$array[anykey] 如果没有加单引,系统会在找不到后自动帮你加上再查找一次。所以是一样,不过如果不加会有notice提示,并且需要查多一次导致资源浪费。
Suckor 2015-03-24
  • 打赏
  • 举报
回复
我只想说 版主起好早。。
xuzuning 2015-03-24
  • 打赏
  • 举报
回复
1、a!=b 题目没给 $b 赋值所以 $b 空,$a=$b 返回空,进入 false 分枝 2、 $array[‘anykey’] 中的 anykey 是字符串 $array[anykey] 中的 anykey 是常量 当屏蔽了 E_NOTICE 级别错误 时两者一样
qq_20610429 2015-03-24
  • 打赏
  • 举报
回复
1.楼主可以单独输出 $a=$b 的值就知道为什么输出"a!=b" 2.$array[‘anykey’]和$array[anykey],建议用前者,性能高

21,873

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧