/*
int mb_strlen ( string $str [, string $encoding ] )
代码如下 | 复制代码 |
<?php教程 echo substr_replace("Hello world","earth",6); Hello earth ?> |
值得一提的,当开始和长度都是负和,长度小于或等于开始,长度将有被设置为0的效果。
代码如下 | 复制代码 |
<?php substr_replace('eggs','x',-1,-1); //eggxs substr_replace('eggs','x',-1,-2); //eggxs substr_replace('eggs','x',-1,-2); //eggxs ?> |
Same as:
<?php
substr_replace('eggs','x',-1,0); //eggxs
?>
代码如下 | 复制代码 |
<?php substr_replace('huevos','x',-2,-2); //huevxos substr_replace('huevos','x',-2,-3); //huevxos substr_replace('huevos','x',-2,-3); //huevxos ?> |
Same as:
代码如下 | 复制代码 |
<?php substr_replace('huevos','x',-2,0); //huevxos ?> |
另一个注意,如果长度为负,开始偏移为长度相同的位置,长度(再次)将具有影响被定为0。 (当然,在手册中提到,当长度为负它实际上代表了之前的立场)
代码如下 | 复制代码 |
<?php Same as: <?php Same as: |
看一下参数说明
string 必需。规定要检查的字符串。
replacement 必需。规定要插入的字符串。
start 必需。规定在字符串的何处开始替换。
正数 - 在第 start 个偏移量开始替换
负数 - 在从字符串结尾的第 start 个偏移量开始替换
0 - 在字符串中的第一个字符处开始替换
charlist 可选。规定要替换多少个字符。
正数 - 被替换的字符串长度
负数 - 从字符串末端开始的被替换字符数
0 - 插入而非替换
代码如下 | 复制代码 |
//strlen $str = '123456'; $str = ' ab cd www.111cn.net'; $ch ='中国'; echo strlen($ch);//4 |
echo utf8_strlen($str); //20
//
代码如下 | 复制代码 |
function utf8_strlen($str) for($i = 0; $i < strlen($str); $i++) |
// 下面来看看mb_strlen实例
echo '<br />';
$str ='中国';
echo mb_strlen($str,'gbk'); //2 长度为2,而刚才我们用strlen时输出的时4,从这里可看出mb_strlen设置了他的编码为gbk时就当中文处理了。
echo mb_strlen( $str,'utf8');//3
// 当我们设置mb_strlen参数是uft8编码时他的长度为3
//来看个计算中英文混排字符串长度实例
$str='中文a字1符中国WEB第一站www.111cn.net原创文章';
//计算如下
echo (strlen($str) + mb_strlen($str,'UTF8')) / 2;
echo
//输出结果
//10
/*
strlen //计算字符串长度,一个中文当2字符
mb_strlen //根据它的字符编码模式,统计字符quot;
在使用 mb_strlen必须把php教程.ini中php_mbstring.dll前面的";"去了才行,不过一般的套装包默认是去了的。
本站原创文章,转载注明来源www.111cn.net
str_replace替换sql 中的 update 这种做法本身就是错误的, 原因如下:
如果sql中本来就有update字段,如以下的SQL
代码如下 | 复制代码 |
$sql = "update content = 'update your name ..' where userid=1" |
那么,你用str_replace替换的后果是什么? 只要用户提交的内容中包含有update,
delete, alter均被篡改? 这是多么可怕的事!!!
那么正确的办法是什么呢?
代码如下 | 复制代码 |
$content = mysql教程_real_escape_string($content); $sql = "update content = '$content' where userid=1 |
代码如下 | 复制代码 |
function test_int() { $timeStart = gettimeofday(); for($i = 0; $i < 3000000; $i++); { $t = 1+1; } $timeEnd = gettimeofday(); $time = ($timeEnd["usec"]-$timeStart["usec"])/1000000+$timeEnd["sec"]-$timeStart["sec"]; $time = round($time, 3)."秒"; return $time; } |
/*--------
浮点运算能力测试
----------*/
代码如下 | 复制代码 |
function test_float() { $t = pi(); $timeStart = gettimeofday(); for($i = 0; $i < 3000000; $i++); { sqrt($t); } $timeEnd = gettimeofday(); $time = ($timeEnd["usec"]-$timeStart["usec"])/1000000+$timeEnd["sec"]-$timeStart["sec"]; $time = round($time, 3)."秒"; return $time; } |
/*-----
数据IO能力测试
-----*/
代码如下 | 复制代码 |
function test_io() { $fp = fopen(PHPSELF, "r"); $timeStart = gettimeofday(); for($i = 0; $i < 10000; $i++) { fread($fp, 10240); rewind($fp); } $timeEnd = gettimeofday(); fclose($fp); $time = ($timeEnd["usec"]-$timeStart["usec"])/1000000+$timeEnd["sec"]-$timeStart["sec"]; $time = round($time, 3)."秒"; return($time); } |
/*
很多公司都自己写了相关的服务器针探测试工具,我们为你提供的只是三种简的整型运算,浮点运算,与io数据输出压力测试。
代码如下 | 复制代码 |
$timestamp = time(); function cut($file,$from,$end){ function curl($openurl) |
//使用方法
代码如下 | 复制代码 |
$url = 'http://www.111cn.net'; $content = open($url,0); |
/*
下面的函数用来判断函数是否可用
*/
代码如下 | 复制代码 |
function isfun($funName) |