PHP的字符串函数
常用的字符串输出函数
常用的字符串格式化函数
去除空格和字符串填补函数
字符串大小写的转换
和HTML标签相关的字符串格式化
其他字符串格式化函数
字符串比较函数
按字节顺序进行字符串比较
按自然排序进行字符串比较
echo( ) -- 输出字符串
print( ) -- 输出一个字符串
die( ) -- 输出一条消息,并退出当前脚本
printf( ) -- 输出格式化字符串
sprintf( )-- 把格式化的字符串写入一个变量中
echo、print、print_r、var_dump
<?php
echo('abcd');
//echo print 两者的区别是print有返回值1,其余效果跟echo一样
print('abcd');
echo'<br>';
print_r('abc');
print_r(array(1,3,4));
var_dump('abc');
var_dump(array(1,3,4,'abc'));
printf 和 sprintf 都是格式化字符串
<?php
//printf 和 sprintf 都是格式化字符串
header("content-type:text/html;charset=utf-8");
//$str = "圆周率的值是3.1415926";
//%d,%f,%s 1 2 3 4
$format="%s,现在是%d点,圆周率的值是%f,%1\$s";
// 想在最后一个位置插入第一个的字符,格式: 位置1\s 占位符
//值,返回int 1 2 3 4
printf($format,'今年是2014年,今天是8月7日','13abc','3.1415936abc');
//printf是需要参数的
echo'<hr>';
$str=sprintf($format,'今年是2014年,今天是8月7日','13abc','3.1415abc');
//sprintf 返回的是string类型
var_dump($str);
echo'<hr>';
echo$str;
二、常用的字符串格式化函数
1、去除空格和字符串填补函数
<?php
//去除两端指定字符
$str=' wangerxiao ';
$str2=trim($str);
var_dump($str);
var_dump($str2);
echo'<hr>';
$str='head_';
//去除两端的_
$str2=trim($str,'_');
var_dump($str);
var_dump($str2);
echo'<hr>';
//要去除两边的符号,必须在‘’中输入完整才可以,否则无法去除
$str='head _|/.,';
//没有输入完整,无法去除
$str2=trim($str,'_|/');
var_dump($str2);
echo'<hr>';
$str='head _|/.,';
//输入完整,去除两边的符号
$str2=trim($str,'_|/.,');
var_dump($str2);
/////////////////////////////////////////////////////////////
//去除.jpg后缀名
$str='zhaopian.jpg';
$str2=trim($str,'.jpg');
var_dump($str2);
//去除左侧指定字符
$str='loldotalol';
$str2=ltrim($str,'lol');
var_dump($str2);
//去除右侧指定字符
$str3=rtrim($str,'lol');
var_dump($str3);
填补函数str_pad();
<?php
//str_pad ——使用另一个字符串填充字符串为指定长度
$str='dota';
//填充为10个字符串,默认从右边添加
$str2=str_pad($str,10,'lol');
var_dump($str2);
$str3 =str_pad($str,10,'lol',STR_PAD_LEFT);
var_dump($str3);
$str4=str_pad($str,11,'l',STR_PAD_BOTH);
var_dump($str4);
结果:string(10)"dotalollol"|string(10)"lolloldota"|string(11)"llldotallll"
2、字符串大小写的转换
<?php
$str="GOOD GOOD STUDY,DAY DAY UP!";
// 将大写字母变成小写字母
echostrtolower($str);
$str='no can ,no bibi!';
//将小写字母变成大写字母
echostrtoupper($str);
//首字母大写
echoucfirst($str);
//每个单词首字母大写
echoucwords($str);
3、和HTML标签相关联的字符串格式化
将字符串中 “\n”转换成 HTML换行符“<br />”,只有在浏览器中查看源码的时候才可以看到标签
<?php
$str="Long long a go, you yige xiao gunian zhuzai senlinli.\nyou yitian guniang yudao qige ren ,jiu wen nimen jiushi wo ming zhong zhuding de 7 ge xiao airenma?\nqizhog yige nan ren zhanchu lai shuo guniang ni zhaocuo dile ,women shi huluwa!";
//将字符串中 “\n”转换成 HTML换行符“<br />”
$str2=nl2br($str);
var_dump($str2);
结果:
string(246) "Long long a go, you yige xiao gunian zhuzai senlinli.
you yitian guniang yudao qige ren ,jiu wen nimen jiushi wo ming zhong zhuding de 7 ge xiao airenma?
qizhog yige nan ren zhanchu lai shuo guniang ni zhaocuo dile ,women shi huluwa!"
浏览器中的源码:
string(246) "Long long a go, you yige xiao gunian zhuzai senlinli.<br />
you yitian guniang yudao qige ren ,jiu wen nimen jiushi wo ming zhong zhuding de 7 ge xiao airenma?<br />
qizhog yige nan ren zhanchu lai shuo guniang ni zhaocuo dile ,women shi huluwa!"
转换成HTML字符实体
<?php
header("content-type:text/html;charset=utf-8");
$html='han××× "我的名字叫韩梅梅,你叫什么名字?" "我叫兄弟!"';
echo$html;
echo'<hr>';
//将特殊字符转换成HTML实体字符
echohtmlspecialchars($html);
$chars='<strong>男人们的世界</strong>';
//可以将所有的非ASCII码转换成对应的HTML实体字符
echohtmlentities($chars);
结果:
han××× "我的名字叫韩梅梅,你叫什么名字?" "我叫兄弟!"
han××× "我的名字叫韩梅梅,你叫什么名字?" "我叫兄弟!"
<strong>男人们的世界</strong>
浏览器源码:
han×××"我的名字叫韩梅梅,你叫什么名字?""我叫兄弟!"<hr>
han×××"我的名字叫韩梅梅,你叫什么名字?""我叫兄弟!"
<strong>男人们的世界</strong>
剥去 HTML、XML 以及 PHP 的标签 strip_tags();
$str='<script type="text/javacripte"></script>abc<html></html>';
//剥去 HTML、XML 以及 PHP 的标签
var_dump(strip_tags($str));
结果:
string(3) "abc"
浏览器源码:
string(3) "abc"
4、其他字符串格式化函数
翻转字符串 strrev();
$str='eij,genf,uoy evol I';
//翻转字符串
echostrrev($str);
结果:I love you,fneg,jie
统计字符串长度strlen();
<?php
$str='zhe shi yige henchang henchang de gushi :cong qian you zuoshan !';
//统计字符串长度
echostrlen($str);
四舍五入number_format();
<?php
$str='1024.15926';
echo$str;
echonumber_format($str);
echo'<hr>';
//四舍五入 保留2位小数
echonumber_format($str,2);
echo'<hr>';
//第三个参数是小数点符号
//第四个参数是千分位符号
echonumber_format($str,2,'&','$');
结果:
1024.159261,024
1,024.16
1$024&16
加密md5
<?php
$str='';
echomd5($str);
echo'<hr>';
$str='123456';
echomd5($str);
echo'<hr>';
$str=123456;
echomd5($str)
结果:
d41d8cd98f00b204e9800998ecf8427e
e10adc3949ba59abbe56e057f20f883e
e10adc3949ba59abbe56e057f20f883e
三、字符串比较函数
PHP中,有多种方法可以对字符串进行比较,除了可以直接使用条件运算符(<, >, ==)加以比较外。
按字节进行字符串的比较
strcmp();(整个比较是否相同)
strncmp();(指定比较长度的字符串比较)
strcasecmp(); (不区分大小写的全串比较)
按自然排序法时行字符串的比较
strnatcmp();
字符串的模糊比较
similar_text(); (返回相似字符串的个数)
<?php
$str='gaofus2';
$str2='gaofus0';
//按照字符比较两个字符串,如果前者大,返回1,相等返回0 小于 返回-1
var_dump(strcmp($str,$str2));
//进制安全比较字符串开头的若干个字符
var_dump(strncmp($str,$str2,3));
//
$str='A';
$str2='a';
//二进制安全比较字符串(不区分大小写)
echostrcasecmp($str,$str2);
$str1='user121';
$str2='user1201';
// 使用自然排序算法比较字符串
var_dump(strnatcmp($str1,$str2));
//返回相似字符串的个数
var_dump(similar_text($str1,$str2));
结果:
int(1)
int(1)
0
int(-1)
int(7)
6、字符串的分割与拼装
<?php
$str='xiangjiao,huanggua,putao,mangguo,juzi,taozi';
// 用指定字符,将字符串分割到数组中
$arr=explode(',',$str);
echo'<pre>';
print_r($arr);
//implode(),join() 用指定字符将数组的各个单元值,连接成字符串
$str2=join('#',$arr);
echo$str2;
结果:
Array
(
[0] => xiangjiao
[1] => huanggua
[2] => putao
[3] => mangguo
[4] => juzi
[5] => taozi
)
xiangjiao#huanggua#putao#mangguo#juzi#taozi
7、字符串的截取
<?php
$str='chiputaobutuputaopin';
// echo substr($str,1);
// echo substr($str,1,1);
// echo substr($str,-1);
// echo substr($str,1,-1);
// echo substr($str,-3,-1);
$str='中国人民';
// echo substr($str,3);
//中文截取的解决方案
// echo mb_substr($str,0,1,'utf-8');
// echo iconv_substr($str,2,1,'utf-8');
8、字符串的查找
<?php
$str='doufuduoshaoqianyikuai,2kuai,1kuai2kuai,haishi 2kuai1kuai,2kuaiyikuai,nande nachu 1kuai,lai2kuai';
//返回 o字符串从 $str 第一次出现的位置开始到 $str结尾的字符串
var_dump(strstr($str,'o'));
echo'<hr>';
//返回 o字符串从 $str 最后次出现的位置开始到 $str结尾的字符串
var_dump(strrchr($str,'o'));
//寻找字符串中某字符最先出现的位置。默认从 0 开始。
echostrpos($str,'o');//substr($str,strpos($str,'o'),10)
echo'<br>';
//寻找字符串中某字符最后出现的位置。默认从 0 开始。
echostrrpos($str,'o');
9、字符串的替换,三种替换方式
<?php
$str='you yi ge guniang ,zhan zai zhongguancun de tianqiao shang,shouli nazhe 发票,huai lichuai zhe 光盘, wanyao fuzhe langan ,zheng zai bei 警察 jiancha shenti';
//子字符串替换
$hexie=array('发票','光盘','警察');
$replace=array('ak47','C4','高老师');
echo'<hr>';
echostr_replace($hexie,$replace,$str);
10、其他
<?php
$str='a';
//将指定字符重复指定次数
echostr_repeat($str,10);
echo'<hr>';
$str="An example on a long word is : fslfkasflsfklsfel";
// 打断字符串为指定数量的字串,浏览器没反应?
echowordwrap($str,2);
echo'<hr>';
$str='ABCDEFabcdef';
//随机打乱字符串
$str2=str_shuffle($str);
echosubstr($str2,0,4);
//要解析的字符床|存储变量的数组名称
//parse_str将字符串解析成多个变量
parse_str("id = 23 &name = john %2 20 Adams",$myArray);
print_r($myArray);
echo'<hr>';
$str='<script><script><html>abc</html>';
//剥去HTML.XML PHP的标签,看源码的时候,不出现这些标签
var_dump(strip_tags($str));
echo'<hr>';
$str="Hello ,my name is John Adams";
echo$str;
echo'<hr>';
//addcslashes — 以 C 语言风格使用反斜线转义字符串中的字符
echoaddcslashes($str,'m');
echo'<hr>';
//获取字符的ASSCII值
echoord('A');
//从指定的ASSCII值返回字符
echochr(97);
11、数学数组
<?php
// $n = -1.01;
// // 求绝对值
// echo abs($n);
$n=1.00000000001;
//进1取整法
echoceil($n);
echo'<br>';
// 舍去取整法
$n=1.99999999999;
echofloor($n);
echo'<br>';
$n=0.1;
echofmod($n,0.03);
echo'<hr>';
echopow(2,3);
echo'<hr>';
echopow(10,3);
echo'<hr>';
$n=3.1415926;
//四舍五入
echoround($n,3);
echo'<hr>';
//
echosqrt(16);
echo'<hr>';
//求最大值
$n=array(7,8,1,3,9);
echomax(7,8,1,3,9);
echo'<hr>';
echorand(0,9);
echo'<hr>';
echomt_rand(0,9);
echo'<hr>';
echorand();
echo'<hr>';
echomt_rand();
echo'<hr>';
echouniqid("class89_");
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。