关于php编程的一些小技巧

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中如果出现规律性的特殊字符,例如 '&amp;'等,可以使用函数 str_replace('&amp;','&',$forward)进行替换处理,方便get取值。

4.遍历数组时巧用$tmp暂存数组可以避免数组重复的问题。(即每次遍历前重新定义$tmp)

原文地址:https://www.cnblogs.com/apeandcat/p/6233815.html