一些PHP Coding Tips(php小技巧)
最后更新: 2011/04/02
1. 使用list来实现一次获取explode后的特定段值:
list( , $mid) = explode(';', $string);
2. 使用NULL === 来代替is_null:
is_null和 NULL === 完全是一样的效果, 但是却节省了一次函数调用.…
编写更高性能的PHP代码
1. PHP4.2版本以后,使用mt_rand() 代替rand()函数
2.使用echo代替print
3. for结构可以这样写
for ($i=0, $j = count($citys); $i < $j ; $i++)
4.挂起进程的三个函时顺函数nanosleep, usleep, sleep.
5.include, include_one, require, require_once包含文件的时候,尽量使用绝对路径。比如…
php源码加密
第一种:
<?php
function encode_file_contents($filename) {
$type=strtolower(substr(strrchr($filename,'.'),1));
if('php'==$type && is_file($filename) && is_writable($filename)){// 如果是PHP文件 并且可写 则进行压缩编码
$contents = file_get_contents($filename);// 判断文件是否已经被编码处理
$contents = php_strip_whitespace($filename);
// 去除PHP头部和尾部标识…
分析php文件的编码问题
原文: http://hi.baidu.com/cuttinger/blog/item/c8e44623e3c9e4499822edff.html
概述:分析php引擎是如何处理不同编码的php脚本的,并通过构造一个GBK的php脚本,诱发了php引擎处理php脚本时产生错误,证实了前面的分析。
1。背景
php有个看起来很平常的特性,就是php文件中的字符串,打印出来的时候,并不改变字符串的编码。…
php中heredoc模板引擎方法小结
Heredoc技术,也叫字符串输出技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术。之前在研究PW模板中经常发现,但一直不明白原理,其实这就是一种大量字符串输出的技术,这种技术不仅能大量输出字符串,而且还能实现了界面与代码的准分离,phpwind模板就是巧妙了使用这种技术,一个典型的例子!
举个简单的例子:…
原php随机函数
php随机函数
gmp_random — 产生一个随机数
lcg_value — 组合线性同余发生器(返回范围为 (0, 1) 的一个伪随机数)
mt_rand — 生成更好的随机数(最大值2147483647)
rand — 产生一个随机整数(最好用mt_rand代替)(win下默认最大值32767,最大值2147483647)
str_shuffle — 随机打乱一个字符串
array_rand — 从数组中随机取出一个或多个单元
shuffle — 将数组打乱…
原PHP安全相关函数
以下PHP内置函数能增加PHP代码的安全性:
类型转换(非函数)
(int), (integer) - 转换为整数
(bool), (boolean) - 转换为布尔值
(float), (double), (real) - 转换为浮点数
(string) - 转换为字符串
(array) - 转换为数组…
原php连接MySQL数据库代码(原创)
<?php //MySQL连接数据库 function db_connmysql($dbpassword,$dbdatabase,$dbhost='localhost',$dbname='root',$dbcharset='UTF8'){ $link = mysql_connect($dbhost, $dbname, $dbpassword) or die(mysql_error()); $dbVersion = mysql_get_server_info($link); //设置字符集 mysql_set_charset($dbcharset,$link); //mysql_query("SET NAMES gb2312", $link);此方式不推荐; //设置 sql_model if($dbVersion >'5.0.1'){ mysql_query("SET sql_mode=''",$link); mysql_query("SET character_set_connection=".$dbcharset.", character_set_results=".$dbcharset.", character_set_client=binary", $link);// 防止宽字节注入 } //选择数据库 mysql_select_db($dbdatabase, $link); //mysql_close($link); } //db_connmysql('password','test');…
原PHP mysql函数及其Mysqli函数代替用法
由于MySQL扩展从php 5.5开始弃用,所以以后不推荐大家再用MySQL扩展,请用MySQLi或PDO代替,以下是MySQL对应的MySQLi函数(绿色字体)供大家参考。(注:PHP手册上的有误,这里是最准的)
MySQL>>(从PHP 5.5开始弃用)
mysql_affected_rows — (mysqli_affected_rows())取得前一次 MySQL 操作所影响的记录行数
mysql_client_encoding — (mysqli_character_set_name())返回字符集的名称(返回当前连接的默认字符集名称。)
mysql_close — (mysqli_close())关闭 MySQL 连接
mysql_connect — (mysqli_connect())打开一个到 MySQL 服务器的连接
mysql_create_db — (mysqli_query() then CREATE DATABASE)新建一个 MySQL 数据库(…
近期评论