[讨论] 从error_reporting(2047)谈开去? error_reporting(2047);有什么作用?这是一道面试题.无非查找最原始的出处,但可以肯定的是,出这道题的人,肯定是个XX.欢迎讨论. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 2047 = E_X | E_Y |.....1 E_ERROR 2 E_WARNING 4 E_PARSE 8 E_NOTICE 16 E_CORE_ERROR 32 E_CORE_WARNING 64 E_COMPILE_ERROR 128 E_COMPILE_WARNING 256 E_USER_ERROR 512 E_USER_WARNING 1024 E_USER_NOTICE 2048 E_STRICT 6143 E_ALL 4096 E_RECOVERABLE_ERROR 8192 E_DEPRECATED 16384 E_USER_DEPRECATED 似乎是E_STRICT之前所有的累积啊 没php手册我也不知道具体是哪些,谁吃饱了去背那些值都是error_reporting(E_X | E_Y....) 这样用否则要定义那些E_X干嘛, 用magic_number那是很初级的 只用过error_reporting(7);E_ALL 现在好像是 30719E_STRICT怎么理解呢 ❤酸啊,说不出什么,一般开发调试的时候E_ALL否则会,E_ALL ^ E_NOTICE ^ E_WARNING 我好像习惯了这样?没手册,对应的数字最多能写4个另:LZ说的“XX”是啥意思呢? 面试题都和面试官正相关,也许就是随便出了到题呢?考虑那么多干啥。正经回答可以是:1)向上面说的那样把原理和结果解释清楚,不过手边没手册的话,也挺难得。2) 只解释计算原理3) 直接回答不知道不正经的回答可以是:1) 请查PHP手册;2) 给我手册,我能给你答案;3) 手册上能查到的东西,哥从不记在脑袋里; error_reporting(2047);有什么作用?启用对一般性错误发出警告功能 1 E_ERROR 2 E_WARNING 4 E_PARSE 8 E_NOTICE 16 E_CORE_ERROR 32 E_CORE_WARNING 64 E_COMPILE_ERROR 128 E_COMPILE_WARNING 256 E_USER_ERROR 512 E_USER_WARNING 1024 E_USER_NOTICE 意思就是屏蔽这些错误。设置数字时,它似乎用的:if(当前错误号 & 2047 = 当前错误号) 其实很多时候,设置信息的属性就可以采用这种方式:例如(checkbox选择框):推荐(1)□热点(2)□最新(4)□XX(8)□YY(16)□直接保存被选择项的和就可以了。在程序或数据库里比如要取XX属性的,if($XX & 保存的属性和== $XX)where $XX & 保存的属性和 = $XX所以个人感觉php里也是这样的吧。 ++首贴很好啊,俺计算机原不好,对位计算不了解2047 是前面的总和 ,而且应该是位计算的结果(1|2|4|8.....)error_reporting()设置时都采用了位计算 1 用数字不是一个好习惯.php手册http://cn.php.net/manual/en/errorfunc.constants.phpE_ALL30719 in PHP 5.3.x, 6143 in PHP 5.2.x, 2047 previously 2 PHP也是会升级的,好多以前的面试题也应该换换了,或者增加一些前提条件. 另外, 这样的写法, 本身就是有问题的, 拿来当面试题就更有些说不过去了.呵呵. 这道题n年前我面试时就考过,现在还在考?如果我再碰到这样的考官我就会问他是否是在浪费你我的时间?如果他说不是的话,我就拿这道题问他,如果他能回答出来我立马消失。error_reporting 的取值是以2的次方定义的如1楼所写的,并且可以使用"|"来进行组合。2047 = 2^11 - 1,就是说这个数值有11个1,组合就是前11项的"|"的组合,要记住11个error_reporting的值,要哪天那个更变态的来个error_reporting(16383)........ 2047 = E_ALL那是n多年前的事情了。 估计当年出这个题目的那时还是到1024这样error_reporting(2047) = error_reporting(E_ALL)只是现在出题人都不花脑子,谷歌一下就照搬来的。 请教一个算法,用服务器调配多客户端 Mambo等问题 请教如何让预定信息按自己规定的时间自动刷新 iis问题,帮小妹请求援助,SOS! 关于mail函数的问题 怎么将oracle库中的上百万条数据导入mysql数据库中?速度比较? mysql数据库出错,需要帮助 PHP+MYSQL用户登陆问题? 请问这个SQL语句怎么写 防止页面刷新 求助:PHP编程 array_uintersect_assoc 排序
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE 2048 E_STRICT
6143 E_ALL
4096 E_RECOVERABLE_ERROR
8192 E_DEPRECATED
16384 E_USER_DEPRECATED 似乎是E_STRICT之前所有的累积啊
error_reporting(E_X | E_Y....) 这样用
否则要定义那些E_X干嘛, 用magic_number那是很初级的
E_ALL 现在好像是 30719
E_STRICT怎么理解呢
正经回答可以是:
1)向上面说的那样把原理和结果解释清楚,不过手边没手册的话,也挺难得。
2) 只解释计算原理
3) 直接回答不知道
不正经的回答可以是:
1) 请查PHP手册;
2) 给我手册,我能给你答案;
3) 手册上能查到的东西,哥从不记在脑袋里;
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE 意思就是屏蔽这些错误。设置数字时,它似乎用的:if(当前错误号 & 2047 = 当前错误号)
例如(checkbox选择框):
推荐(1)□热点(2)□最新(4)□XX(8)□YY(16)□直接保存被选择项的和就可以了。
在程序或数据库里比如要取XX属性的,
if($XX & 保存的属性和== $XX)
where $XX & 保存的属性和 = $XX所以个人感觉php里也是这样的吧。
首贴很好啊,俺计算机原不好,对位计算不了解2047 是前面的总和 ,而且应该是位计算的结果
(1|2|4|8.....)error_reporting()设置时都采用了位计算
php手册
http://cn.php.net/manual/en/errorfunc.constants.phpE_ALL
30719 in PHP 5.3.x, 6143 in PHP 5.2.x, 2047 previously 2 PHP也是会升级的,好多以前的面试题也应该换换了,或者增加一些前提条件.
另外, 这样的写法, 本身就是有问题的, 拿来当面试题就更有些说不过去了.
呵呵.
2047 = E_ALL那是n多年前的事情了。