Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Some PHP Coding Tips「待更新」

Some PHP Coding Tips「待更新」

WBOY
WBOYasal
2016-06-23 13:34:141086semak imbas

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn