PHP

PHP多字节字符串处理函数mbstring函数库

PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是1~3倍的差异了。

采用mb_strlen函数可以较好地解决这个问题。mb_strlen的用法和strlen类似,只不过它有第二个可选参数用于指定字符编码。例如得到UTF-8的字符串$str长度,可以用mb_strlen($str,’UTF-8′)。如果省略第二个参数,则会使用PHP的内部编码。内部编码可以通过mb_internal_encoding()函数得到,设置有两种方式:
1. 在php.ini中设置mbstring.internal_encoding = UTF-8
2. 调用mb_internal_encoding(“GBK”)…

php文件编码的问题 mysql乱码

首先要说下编码问题,如果XML文件与页面文件编码不一致,那么乱码会产生。解决中文乱码问题可以输出时用以下语句:echo iconv("UTF-8","GBK",$Song_Url);

PHP网页的编码

php文件本身的编码与网页的编码应匹配, 如果欲使用gb2312编码,那么php要输出头:header("Content-Type: text/html; charset=gb2312"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。…

php程序员应具备的7种能力

                                

php程序员应具备的7种能力:
   
    一个优秀php程序员应具备什么样的能力,才能更好的完成工作,才会有更好的发展方向呢?下面7种能力希望对您有所帮助。
   
    一,php能力
   
    1,了解阶段,您能写一些代码,因为那是在手册和google的帮助下,您才完成的。变量乱定义,N多函数不知道,做起事来很慢,想到什么写什么,代码写的比较乱,后期维护很麻烦。…

            

php异常处理

异常处理

PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被 throw 语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在的异常。每一个 try 至少要有一个与之对应的 catch。使用多个 catch 可以捕获不同的类所产生的异常。当 try 代码块不再抛出异常或者找不到 catch 能匹配所抛出的异常时,PHP 代码就会在跳转到最后一个 catch 的后面继续执行。当然,PHP 允许在 catch 代码块内抛出(或再次抛出re-throw)异常。

后期静态绑定(Late Static Bindings)

后期静态绑定(Late Static Bindings)

从PHP 5.3.0开始,PHP实现了一个叫做后期静态绑定(late static bindings)的功能,用于引用在静态继承上下文中调用的类 。

更准确地说,后期静态绑定通过存储最后一个 "非转发调用"的类名工作.  对于静态方法调用, 这是显式命名的类(通常是在::运算符左侧的一个);对于非静态方法调用,是该对象的类。 一个“转发调用”是静态的通过self::,parent::,static::调用的,或者,如果上升到类层次结构,则是由forward_static_call()调用的. 函数 get_called_class()可以用来检索调用类的名称的字符串 并且 static:: 介绍了这个类的范围。

该功能从语言内部角度考虑被命名为”后期静态绑定“。”后期绑定“的意思是说,static::不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为”静态绑定“,因为它可以用于(但不限于)静态方法的调用。  …