php 实战常用代码示例
Posted babytuo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 实战常用代码示例相关的知识,希望对你有一定的参考价值。
1 依次输出一数组。每输入3个换一行。
//讲个小细节,有人说 $i< sizeof($len) 每次循环时都要去计算下数组长度,是否很浪费性能。 -----回答: 1 你观察很细。 2 现在的解释器比较智能,这个问题会被自动优化处理。
for($i = 0; $i<sizeof($len); $i++){ if( $i && $i%3==0) echo "<br>"; echo $arr[$i]; }
2 字符串不允许出现特殊字符。
$chinese= "\x{4e00}-\x{9fa5}";//中文匹配 $pattern="/^[a-zA-Z0-9($chinese)]+$/u";//加上英文、数字匹配 if(!preg_match($pattern,$nick_name)) { exit("不允许特殊字符"); }
3 支付utf-8 的 strlen 和 substr 函数。 (求utf-8 字符串长度,求utf-8 的子字符串 )
//utf-8 求utf-8 字符串长度 function strlen_utf8($str) { $i = 0; $count = 0; $len = strlen($str); while ($i < $len) { $chr = ord($str[$i]); $count++; $i++; if ($i >= $len) break; if ($chr & 0x80) { $chr <<= 1; while ($chr & 0x80) { $i++; $chr <<= 1; } } } return $count; } //求utf-8 子字符串。 function subStringUtf8($str, $start, $lenth) { $len = strlen($str); $r = array(); $n = 0; $m = 0; for ($i = 0; $i < $len; $i++) { $x = substr($str, $i, 1); $a = base_convert(ord($x), 10, 2); $a = substr(‘00000000‘ . $a, -8); if ($n < $start) { if (substr($a, 0, 1) == 0) { } elseif (substr($a, 0, 3) == 110) { $i += 1; } elseif (substr($a, 0, 4) == 1110) { $i += 2; } $n++; } else { if (substr($a, 0, 1) == 0) { $r[] = substr($str, $i, 1); } elseif (substr($a, 0, 3) == 110) { $r[] = substr($str, $i, 2); $i += 1; } elseif (substr($a, 0, 4) == 1110) { $r[] = substr($str, $i, 3); $i += 2; } else { $r[] = ‘‘; } if (++$m >= $lenth) { break; } } } return join("", $r); }
4 小数位减法时,容易丢失精度,使用数学函数。
$sum = bcadd($a , $b , 4); // a+b 保留4位小数。 $diff = bcsub( $a , $b , 4); // a- b 保留4位小数。 $mul = bcmul($a , $b , 4); //a*b 保留4位小数。 $div = bcdiv($a , $b , 4); //a/b 保留4位小数 b 不能为0.
5 使用事务。(不同框架代码不一样,这里以Yii 为例)
$trans = Yii::app()->db->beginTransaction(); //创建事务。 $trans->commit(); //事务提交 $trans->rollback(); //事务回滚
6 异常处理。 (生产环境中,不希望对外暴露错误,以及程序执行意外时,数据库回滚处理。)
try { $trans = Yii::app()->db->beginTransaction(); //... 中间的执行代码 $trans->commit(); //事务提交 } catch (Exception $e) { log($e->getMessage()); //日志记录异常信息 $trans->rollback(); //事务回滚 }
以上是关于php 实战常用代码示例的主要内容,如果未能解决你的问题,请参考以下文章
html PHP代码片段: - AJAX基本示例:此代码演示了使用PHP和JavaScript实现的基本AJAX功能。
Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段