>백엔드 개발 >PHP 튜토리얼 >Some PHP Coding Tips「待更新」

Some PHP Coding Tips「待更新」

WBOY
WBOY원래의
2016-06-23 13:34:141124검색

1、使用list来实现一次获取explode后的特定段值:

<?phplist( , $mid) = explode(';', 'aa;bb;cc');echo $mid; //输出 bb

2、注意 == 、switch、in_array 的松比较 (loose comparision)

例如下边的例子中,如果 $name 值为 0,那么它会满足任何一条 case。

switch ($name) {    case "danny":        ...        break;    case "eve":        ...        break;}

解决方法:在 switch 之前,把变量类型转换成所期望的类型。 而 in_array 提供了第三个参数,如果第三个参数的值为 TRUE 则 in_array() 函数还会检查变量的类型是否相同。(参考:https://php.net/manual/zh/function.in-array.php)

switch (strval($name)) {    case "danny":        ...        break;    case "eve":        ...        break;}

3、用 switch 来改写 if else

例如:

if($a) {} else if ($b) {} else if ($c || $d) {}

可以简单改写为更清晰的:

switch (TRUE) {    case $a:        break;    case $b:        break;    case $c:    case $d:        break;}

4、不用第三变量交换俩个变量的值

list($a, $b) = array($b, $a);

5、使用 array_map 遍历数组

在从数据库取回记录后,经常要 foreach 去取其中一个字段,这时就可以使用 array_map 来简化代码。

$uids = array_map( function($user){ return $user['id']; } , $users );

参考:
1、http://www.laruence.com/2011/03/24/858.html
2、http://get.jobdeer.com/75.card

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.