1. NULL,0和空的区分判断
(1)0与空的区分
<?php $a = 0;if($a==''){ echo '此判断条件不能区分';}else{ echo '此判断条件可以区分';} ?>
<?php $a = 0;if($a===''){ echo '此判断条件不能区分';}else{ echo '此判断条件可以区分';} ?>
<?php $a = 0;$b = '';if(empty($a) && empty($b)){ echo '此判断条件不能区分';}else{ echo '此判断条件可以区分';}? >
<?php $a = 0;$b = '';if((!is_null($a)) && (!is_null($b))){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';} ?>
<?php $a = 0;$b = '';if(isset($a) && isset($b)){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';} ?>
结论:0与空的区分判断只能使用===。
(2)空与NULL的区分
<?php $a = '';if($a==NULL){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';} ?>
<?php $a = '';if($a===NULL){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';} ?>
<?php $a = '';$b = NULL;if(empty($a) && empty($b)){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';}? >
<?php $a = '';$b = NULL;if(is_null($a)){echo 1;}else{echo 2;}if(is_null($b)){echo '<br/>a';}else{echo 'b';} ?>
<?php $a = '';$b = NULL;if(isset($a)){echo 1;}else{echo 2;}if(isset($b)){echo '<br/>a';}else{echo '<br/>b';} ?>
结论:空与NULL的区分可以使用===,is_null,isset。
(3)0与NULL的区分
<?php $a = 0;if($a==NULL){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';}?>
<?php $a = 0;if($a===NULL){echo '此判断条件不能区分';}else{echo '此判断条件可以区分';}?>
<?php $a = 0;$b = NULL;if(empty($a) && empty($b)){ echo '此判断条件不能区分';}else{echo '此判断条件可以区分';}?>
<?php $a = 0;$b = NULL;if(is_null($a)){ echo 1;}else{echo 2;}if(is_null($b)){echo '<br/>a';}else{echo '<br/>b';}?>
<?php $a = 0;$b = NULL;if(isset($a)){ echo 1;}else{echo 2;}if(isset($b)){echo '<br/>a';}else{echo '<br/>b';}?>
结论:0与NULL的区分可以使用===,is_null,isset。
综上,我们在区分0,空和NULL的时候首选===方法,简单实用快捷。不会因数组转换导致数据类型变化而产生差错。
2. 在函数里面使用return false;可以防止button等提交表单。
3.在返回的url中如果出现规律性的特殊字符,例如 '&;'等,可以使用函数 str_replace('&','&',$forward)进行替换处理,方便get取值。
4.遍历数组时巧用$tmp暂存数组可以避免数组重复的问题。(即每次遍历前重新定义$tmp)