Heim  >  Artikel  >  Backend-Entwicklung  >  在公司遇到两个php小疑点

在公司遇到两个php小疑点

WBOY
WBOYOriginal
2016-06-13 10:54:53773Durchsuche

在公司遇到两个php小问题

在公司遇到两个php小问题:
sleep(10);如果不放在for循环里面在流程下面将会继续执行,而不会等待.


mb_strlen(val,"utf-8");
还是有关中文的问题。PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的

字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍的差异

了(在UTF-8编码下,一个汉字占3个字节)。

采用mb_strlen函数可以较好地解决这个问题。mb_strlen的用法和strlen类似,只不过它有第二个可选参数用于

指定字符编码。例如得到UTF-8的字符串$str长度,可以用mb_strlen($str,'UTF-8')。如果省略第二个参数,则

会使用PHP的内部编码。内部编码可以通过mb_internal_encoding()函数得到。需要注意的是,mb_strlen并不是

PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保“extension=php_mbstring.dll”

这一行存在并且没有被注释掉,否则会出现未定义函数的问题。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php url伪静态弥合析Nächster Artikel:用 PHP 读取资料的正确方法