今日课程:PHP 3天基础巩固视频教程【燕十八】
1.php错误报告设置
/*
php脚本错误,分多个等级,如致命错误,notice(提醒),warning(警告),N多级
如何方便设置报错级别
PHP把不同等级的级别,用数字来表示比如
1 E_ERROR (integer) 致命的运行时错误。这类错误一般是不可恢复的情况,例如内存分配导致的问题。后果是导致脚本终止不再继续运行。
2 E_WARNING (integer) 运行时警告 (非致命错误)。仅给出提示信息,但是脚本不会终止运行。
4、8、16、32...
0000 0001
0000 0010
0000 0100
0000 1000
1111 1111
综上,想报告所有错误,可以把所有错误级别,a | b | c...
可以在php.ini文件设置
*/
//error_reporting(E_ALL);//设置报告所有错误
//error_reporting(0);//不报所以错误
//echo $a;
//include('cc.php');
//想报所有错误,除了notice的错误
echo E_NOTICE;
//error_reporting(E_ALL ^ E_NOTICE);
//error_reporting(E_ALL);
error_reporting(E_ALL & ~ E_NOTICE);
echo $a;
2、浮点数不准确
echo "<br />";
if((0.3-0.2) == 0.1){
echo "相等";
}else{
echo "不相等";
}
/*
10进制中 3.1,是指3*10^0+1*10&-1
3进制:1.1 , 是指 1*3^0+1*3^-1;//对应十进制1.3333……
10进制 2进制
0.5 0.1
0.8
某些小数在10进制下是有限的,转成2进制要无限循环。因此,损失精度,导致浮点数运算
和数学书结果不一致
*/
//银行一般存整数,精确到分
3.逻辑运算的短路特性
echo "<br />";
$h = false;
$c = true;
if($h && $c){//房子为假,有用且计算,结果为假,程序不会去判断$c的值
echo '假';
}else{
echo '不嫁';
}
$b = 1;
if($h && ($b = 6) ){//$b = 6被短路,没机会执行
}
echo $b;
if($h || ($b = 6) ){//$b = 6
}
echo $b;
$b = 0;
if($c || ($b = 6) ){//$b = 6
}
echo $b;
echo "<br />";
//利用短路写出简短判断代码
if (!defined('PI')){
define('PI',3.14);
}
defined('PI')||define('PI',3.14);
echo "<br />";
//月经题,运算符的优先级,先算||,得出布尔值,所以运算需要带括号
$a = 3;
$b = 5;
if ($a = 5 || $b = 7) {
$a++;
$b++;
}
echo $a." ".$b;
echo "<br />";
休息~~~
转载于:https://blog.51cto.com/lonelyman/1950588