当前位置: 编程技术>php
本页文章导读:
▪php 截取指定长度字符串的代码分享 根据中文裁减字符串,截取指定长度的字串内容。
代码如下:
<?php
/**
* 截取指定长度的字符串
* func: cutstr $string字符串,$length长度,$dot超出部分
* edit: www.
*/
function cutstr($string,$length, $.........
▪PHP中三个等号”===”与两个等号”==”的区别分析 近日,想研究下php中”===”和”==”的具体区别。
其实”===”也是作比较用的,只是比较时要求更严格。
会要求比较两边类型也是一样的;
如:
$a=8时;
if($a==8.0)或者if($a==8) 都是返回TRUE的.........
▪php三个等号(===)与二个等号(==)的区别是什么 要说php三个等号(===)与二个等号(==)的区别,先来看个例子:
比如一个函数会返回如下几种情况:
1、大于0的数
2、小于0的数
3、等于0的数(也就是0啦)
4、False(失败时)
引时,要捕获失.........
[1]php 截取指定长度字符串的代码分享
来源: 互联网 发布时间: 2013-12-24
根据中文裁减字符串,截取指定长度的字串内容。
代码如下:
<?php
/**
* 截取指定长度的字符串
* func: cutstr $string字符串,$length长度,$dot超出部分
* edit: www.
*/
function cutstr($string,$length, $dot = ' ...') {
if (strlen($string) <= $length) {
return$string;
}
$pre = chr(1);
$end = chr(1);
$string = str_replace(array('&','"', '<', '>'),array($pre . '&'. $end, $pre . '"' . $end, $pre . '<' .$end, $pre . '>' . $end),
$string);
$strcut = '';
if (strtolower(CHARSET) == 'utf-8'){
$n = $tn =$noc = 0;
while ($n< strlen($string)) {
$t =ord($string[$n]);
if ($t == 9 || $t == 10 || (32<= $t && $t <= 126)) {
$tn = 1;
$n++;
$noc++;
} elseif (194 <= $t&& $t <= 223) {
$tn = 2;
$n += 2;
$noc += 2;
} elseif (224 <= $t&& $t <= 239) {
$tn = 3;
$n += 3;
$noc += 2;
} elseif (240 <= $t&& $t <= 247) {
$tn = 4;
$n += 4;
$noc += 2;
} elseif (248 <= $t&& $t <= 251) {
$tn = 5;
$n += 5;
$noc += 2;
} elseif ($t == 252 || $t ==253) {
$tn = 6;
$n += 6;
$noc += 2;
} else {
$n++;
}
if ($noc >= $length){
break;
}
}
if ($noc> $length) {
$n -= $tn;
}
$strcut =substr($string, 0, $n);
} else {
for ($i =0; $i < $length; $i++) {
$strcut .= ord($string[$i])> 127 ? $string[$i] . $string[++$i] : $string[$i];
}
}
$strcut = str_replace(array($pre . '&' .$end, $pre . '"' . $end, $pre . '<' . $end, $pre . '>' .$end), array('&', '"','<', '>'),
$strcut);
$pos = strrpos($strcut, chr(1));
if ($pos !== false) {
$strcut =substr($strcut, 0, $pos);
}
return $strcut . $dot;
}
?>
[2]PHP中三个等号”===”与两个等号”==”的区别分析
来源: 互联网 发布时间: 2013-12-24
近日,想研究下php中”===”和”==”的具体区别。
其实”===”也是作比较用的,只是比较时要求更严格。
会要求比较两边类型也是一样的;
如:
$a=8时;
if($a==8.0)或者if($a==8) 都是返回TRUE的;
但if($a===8.0) 返回的false, 因为两个的类型不一样,只有if($a===8)是才返回true;
if($a==8.0)或者if($a==8) 都是返回TRUE的;
但if($a===8.0) 返回的false, 因为两个的类型不一样,只有if($a===8)是才返回true;
假如,一个函数会返回如下的几种情况:
1、大于0的数
2、小于0的数
3、等于0的数(也就是0啦)
4、False(失败时)
此时,需要捕获失败的情况,就要用===,而不能用==了。为什么呢?
因为==除了会匹配第4种情况外,还会匹配第3种情况,因为0也是假哦。
[3]php三个等号(===)与二个等号(==)的区别是什么
来源: 互联网 发布时间: 2013-12-24
要说php三个等号(===)与二个等号(==)的区别,先来看个例子:
比如一个函数会返回如下几种情况:
1、大于0的数
2、小于0的数
3、等于0的数(也就是0啦)
4、False(失败时)
引时,要捕获失败的情况,就必须用===,而不能用==
因为==除了会匹配第4种情况外,还会匹配第3种情况,因为0也是假!
三个等号代表比较对象的类型也要一致。两个等号表示只要值相等就满足条件。
补充:
$a='2';//字符型2
$b=2;//数值型2
$a==$b,是对的,都是2
$a===$b,是不对的,因为$a是字符型$b是数值型,值虽一样,但类型不一样。
还有就是“linvo1986 - 六级”说的那种“0”了。
$b=2;//数值型2
$a==$b,是对的,都是2
$a===$b,是不对的,因为$a是字符型$b是数值型,值虽一样,但类型不一样。
还有就是“linvo1986 - 六级”说的那种“0”了。
最新技术文章: