字符串
1.字符串string,是由一系列的字符组成。
举例:
$str="aaa";
2.字符串可以像数组一样用下标访问
$str="hello"; $str[2]="world"; var_dump($str);
输出结果是:hewllo;下标为【2】的替换,其他舍掉
<?php $str="12345678"; $s=""; for($i=0;$i<strlen($str);$i++){ if($i%2==0){ $s.=$str[$i]; } $i++; } } ?>
这个程序是将字符串“12345678”下标与2取余为0的数取出来,结果是1357
5.substr(string,start,[length])从start开始在字符串中取出字符,取出length个
<?php $str="hello world"; $str1="小韩韩少"; echo substr($str,0,7); echo "<br/>"; echo substr($str1,0,7); ?>
输出结果如上图所示,英文字符输出正确,中文报错,一个英文单词占一个字符,而utf-8编码中每个中文字占3个字符,七个字符恰好处于二个半,gb2312一个中文占两个字符,所以显示结果是上图那样,可以使用
mb_substr(string,start,[length])
echo mb_substr($str1,0,7,utf-8);
6.strrev(string)
<?php $str="www.xiaofan.com"; echo strrev($str); ?>
结果:
7.string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )
float $number要格式化的数字
$decimals规定要多少个小数位
$dec_point小数点字符串一般都是"."
$thousands_sep分隔符符号
<?php $number="1234.567"; $english_format_number = number_format ( $number ); $nombre_format_francais = number_format ( $number , 2 , ',' , ' ' ); $english_format_number = number_format ( $number , 2 , '.' , '' );
8.stccmp($str1,$str2)字符比较ASCII码值
strnatcmp($str1,$str2)自然顺序比较
$str1="file11.txt"; $str2="file2.txt";
switch(strcmp($str1,$str2)){ case 0: echo "str1与str2相等"; echo "<br/>"; break; case -1: echo "str1小于str2"; echo "<br/>"; break; case 1: echo "str1大于str2"; echo "<br/>"; break;
`switch(strnatcasecmp($str1,$str2)){
case 0:
echo "str1与str2相等";
echo "
";
break;
case -1:
echo "str1小于str2";
echo "
";
break;
case 1:
echo "str1大于str2";
echo "
";
break;
}`
9.自定义一个函数翻转字符串,PHP本来可以用strrev函数实现
$str="www.xiaofan.com"; function fanzhuan($str){ $s=""; $m=strlen($str)-1; for($i=m;$m>=0;$m--){ $s.=$str[$i]; } return $s; } echo fanzhuan($str);