在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
【常见的错误类型】 【例1】程序语句结尾少了';' <?php $username = "dee" //少了分号; echo $username; 输出: ( ! ) Parse error: syntax error, unexpected T_ECHO in D:\practise\php\Error\error1.php on line 3 Parse error:解析错误 syntax error:语法错误
【PHP 中的错误级别】16 种
a. Deprecated 最低级别的错误 —— 不推荐 或 不建议 【例2】 <?php if(ereg('dee', 'welcome to dee\'s medows', $matches)){ print_r($matches); }else{ echo 'not found'; } 输出: ( ! ) Deprecated: Function ereg() is deprecated in D:\practise\php\Error\error1.php on line 2 Array ( [0] => dee ) deprecated:不推荐的,过时的(可以使用 preg_match 代替 ereg 方法),但同时程序也输出了结果。
【例3】(PHP 5.3 以上版本) <?php echo mysql_escape_string('\' or 1 = 1 #'); 输出: Deprecated:mysql_escape_string():This Function id deprecated: use mysql_real_escape_string() instead. in **** \' or 1 = 1 #
b. Notice 通知级别的错误 —— 语法中存在一些不当的地方。PHP 是弱类型语言,变量可以不声明直接使用,当直接使用某个变量的时候,就会发送一个 notice 级别的错误告诉你这个变量没有声明:undefined variable;再如数组索引,如果下标是字符串类型时,在使用数组索引(下标)时没有加引号,php 则会将其当成常量解析,如果没有找到这个常量,才将其当成下标去解析。 【例4】 <?php echo $dee; //程序继续执行 echo 'continue'; 输出: ( ! ) Notice: Undefined variable: dee in D:\practise\php\Error\error1.php on line 2
continue
【例5】 <?php $userInfo = array('username'=>'dee', 'age'=>28); echo $userInfo['username']; echo '<hr>'; echo $userInfo[age]; //会产生 notice 级别的错误 echo '<hr>'; echo 'continue'; 输出: dee ( ! ) Notice: Use of undefined constant age - assumed 'age' in D:\practise\php\Error\error1.php on line 5 28 continue Use of undefined constant age :未定义的常量 age 所以这种写法是不规范的。
c. Warning 警告级别的错误—— 语法中不恰当的地方;或者函数希望得到两个参数,但是调用函数时只传递了一个参数;或者参数的类型,参数的值不正确 【例6】 <?php settype($var, 'int'); // 变量 var 的类型设置为 int var_dump($var); //设置一个不存在的类型,warning settype($var, 'dee'); var_dump($var); echo 'continue';
输出: int 0 ( ! ) Warning: settype() [function.settype]: Invalid type in D:\practise\php\Error\error1.php on line 6 int 0 continue Invalid type:非法的类型 (未完:Fatal 等)
② 环境错误
③ 逻辑错误
|
2022-08-16
2022-09-04
2022-08-17
2022-08-12
2022-08-15
请发表评论