‘壹’ php中如何限制字符长度以及如何去掉
用多字节mb_strlen()统计字符串的字符长度。
在用mb_substr()截取指定长度的字符。
代码中用名义上针对latin事实上针对byte字节的strlen, substr是不能正确截取非拉丁文字的(比如阿拉伯文、中文)
‘贰’ 用PHP统计字符串长度
PHP 计算字符串长度代码示例如下,具体逻辑在代码中。
<?php
//统计字符串长度,适用中文,字母,数字混编
functionget_strlength($str){
//强字符串统一转换为utf-8格式
$encode=mb_detect_encoding($str,array('ASCII','UTF-8','GB2312','GBK'));
if(!$encode=='UTF-8'){
$str=iconv('UTF-8',$encode,$str);
}
//初始化字符串长度
$count=0;
//循环统计
for($i=0;$i<strlen($str);$i++){
//获取字符串首字母对应的ASCII值
$value=ord($str[$i]);
if($value>127){
$count++;
if($value>=192&&$value<=223){
$i++;
}elseif($value>=224&&$value<=239){
$i=$i+2;
}elseif($value>=240&&$value<=247){
$i=$i+3;
}else{
die('字符串异常!!');
}
}
$count++;
}
return$count;
}
//测试
echoget_strlength("中国人2015年的gdp为:6666");
//25
?>
‘叁’ PHP的变量名长度最长允许多少啊
PHP变量名长度是不受限制的。
可以任意的长。
回答了把,不过建议开发时候还是采取比较容易理解和简短的名字。
‘肆’ PHP怎么获取字符串长度
PHP对中文字符串的处理一直困扰于刚刚接触PHP开发的新手程序员。下面简要的剖析一下PHP对中文字符串长度的处理:
(1)PHP自带的函数如strlen()、mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节;
(2)中文则不然,做中文网站一般会选择两种编码:gbk/gb2312或是utf-8。utf-8能兼容更多的字符,所以受到很多站长的喜爱。gbk与utf-8对中文的编码不同,导致中文在gbk与utf-8编码下所占字节也有差异。
‘伍’ PHP中如何获取字符串的长度
//使用strlen()函数
$a='abcdefghaa11';
$b=strlen($a);
echo$b;
//$b=12
‘陆’ php 判断数字长度
echo $符合条件 = is_numeric($表单变量) && (($len = strlen($表单变量)) == 16 || $len == 18);
或者:
echo $符合条件 = preg_match("/^\d{16}|\d{18}$/", $表单变量);
‘柒’ php如何获取中文字符长度
PHP对中文字符串的处理一直困扰于刚刚接触PHP开发的新手程序员。下面简要的剖析一下PHP对中文字符串长度的处理:
PHP自带的函数如strlen()、mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节。例:
$enStr = ‘Hello,China!’;
echo strlen($enStr); // 输出:12
而中文则不然,做中文网站一般会选择两种编码:gbk/gb2312或是utf-8。utf-8能兼容更多的字符,所以受到很多站长的喜爱。gbk与utf-8对中文的编码不同,导致中文在gbk与utf-8编码下所占字节也有差异。
gbk编码下每个中文字符所占字节为2,例:
$zhStr = ‘您好,中国!’;
echo strlen($zhStr); // 输出:12
utf-8编码下每个中文字符所占字节为3,例:
$zhStr = ‘您好,中国!’;
echo strlen($zhStr); // 输出:18
那么如何计算这组中文字符串的长度呢?有人可能会说gbk下获取中文字符串长度除以2,utf-8编码下除以3不就行了吗?但是您要考虑字符串并不老实,99%的情况会以中英混合的情况出现。
这是WordPress中的一段代码,主要思想就是先用正则将字符串分解为个体单元,然后再计算单元的个数即字符串的长度,代码如下(只能处理utf-8编码下的字符串):
$zhStr = ‘您好,中国!’;
$str = ‘Hello,中国!’;
// 计算中文字符串长度
function utf8_strlen($string = null) {
// 将字符串分解为单元
preg_match_all(“/./us”, $string, $match);
// 返回单元个数
return count($match[0]);
}
echo utf8_strlen($zhStr); // 输出:6
echo utf8_strlen($str); // 输出:9
‘捌’ php怎样限制字符的显示长度
思路:获取字符串长度,和自己设置的要显示的长度比较,超出,就截取处理
代码例子如下:
$str="你好啊阿拉拉拉";
//处理长度不管中英文,都代表1个长度
preg_match_all("/./us",$str,$match);
$str_arr=$match[0];
$length_val=count($str_arr);//字符串长度
$show_str=implode('',$str_arr);//最后要显示的字符串
//控制的显示长度
$length_limit=3;
//字符串超出控制长度,显示处理
if($length_val>$length_limit){
$show_str="";
for($i=0;$i<$length_limit;$i++){
$show_str.=$str_arr[$i];
}
$show_str.="...";//最后以...代表后面字符省略
}
echo$show_str;
‘玖’ php字符串长度限制
真是呵呵,两千个字符的sql语句,真是没谁了。
无法正确执行sql语句,我觉得还是你的语句或程序有问题。你可以用echo输出查看一下是不是有问题。不防也贴一下你的代码,真想看看你这NB的语句。
‘拾’ php的数组怎么定义长度
php如何获取一维数组的长度,使用php函数count(),或是sizeof();
示例如下:
$arr = Array('0','1','2','3','4');
echo count($arr);
// 输出 5
$arr = array('A','B','C');
echo sizeof($arr);
//输出3
多维数组:
$arr=array(
0=>array('title' => '新闻1', 'viewnum' => 123, 'content' => '内容1'),
1=>array('title' => '新闻2', 'viewnum' => 99, 'content' => '内容2')
);
echo '不统计多维数组:'.count($arr,0); echo '或用sizeof为'.sizeof($arr,0);
echo "<br/>";
echo '统计多维数组:'.count($arr,1);echo '或用sizeof为'.sizeof($arr,1);