今日课程: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 />";

休息~~~