Some PHP Coding Tips「待更新」

WBOY
풀어 주다: 2016-06-23 13:34:14
원래의
1048명이 탐색했습니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!