10.养成检查提交请求的习惯
这是老生常谈的了
<?php echo 'What you have input is:'.$_GET['input']; ?>
优化上面的代码为:
<?php if(isset($_GET['input'])) { echo 'What you have input is:'.htmlspecialchars($_GET['input'],ENT_QUOTES); }else{ echo "No input"; } ?>
11.使用list获取explode后的特定段值
同样是来自laruence的博客.
list()跟array()一样不是函数,而是语言结构
<?php $str='a,b,c,d'; list(,,$re)=explode(',',$str); echo $re;//display:c ?>
12.尽量不写PHP闭合标签
BAD:
<?php echo 'hello'; ?>
GOOD:
<?php echo 'hello';
可是为什么呢,CI文档中说明了原因并讲了一个建议:http://codeigniter.org.cn/user_guide/general/styleguide.html#php_closing_tag
为了防止在闭合标签外有空格或多余字符
13.多个变量可以在一行内赋值
像下面的例子,PHP并不报错
<?php $a=$b=$c=1;
14.数学运算和字符串追加,数组PUSH
当我们整型变量加上一个值,字符串追加一个串,把一个变量压入数组
比如下面的代码:
<?php $i=4; $str='hello'; $arr=array('a','b'); $i=$i+1; $str=$str.' world'; $arr=array_push($arr,'c');//或者你可能使用$arr[2]='c'
还可以这样写,而且建议这么写
<?php $i=4; $str='hello'; $arr=array('a','b'); $i+=1; $str.=' world'; $arr[]='c';
关于最后那个$arr[]=$var;的写法,PHP官方文档建议这么写,见http://www.php.net/manual/zh/function.array-push.php
15.使用array_map快速处理数组
我在OSC上看到的
下面的代码是想把数组中各个元素的首尾空白去掉:
<?php $arr=array(' a','b ',' c '); print_r($arr); foreach ($arr as $key => $var) { $arr[$key]=trim($var); } print_r($arr);
使用array_map函数会更简洁:
<?php $arr=array(' a','b ',' c '); print_r($arr); $arr=array_map('trim',$arr); print_r($arr);
array_map函数很有趣,几个数组的对应位置的元素作为函数参数并返回函数返回值的数组.
看下面的例子(来自w3cschool):当把函数名写成null
<?php $arr1=array('a','b','c'); $arr2=array('e','f','g'); print_r(array_map(null,$arr1,$arr2));
结果是输出了一个二维数组:
Array ( [0] => Array ( [0] => a [1] => e ) [1] => Array ( [0] => b [1] => f ) [2] => Array ( [0] => c [1] => g ) )