PHP之路 PHP基础【第五篇】字符串

字串的定义

1. 单引号: ''  不支持变量的解析,转义符: \\ \'
2. 双引号: ""  支持变量的解析,转义符: \n \r \t \" \$ \\ ...
3. 定界符: <<< 注意结束符的使用。 

字串输出函数

1. echo() 支持多个变量同时输出 如: echo $s1,$s2;
2. print()  不支持多个变量。
3. die() 别名exit() 终止当期脚本执行,可以顺便输出内容
4. print_r() 与var_dump()函数类似,都是格式化变量并直接输出,可以解析数组,对象等类型
	常用于开发时的临时输出使用(测试)
5. printf() 格式化字串并输出
6. sprintf() 格式化字串并返回

chr()和ord()是实现ASCII码值和字符之间的转换

  

php
header("Content-Type: text/html;charset=utf-8");
//字串输出函数
//1. echo 和print的输出:
// echo来自于脚本的输出,而print是来自于C语言的输出
// 其中echo支持多个值输出,而print不可以

echo "aaa";
print "bbb";
echo("ccc");
print("dddd");

$a=10;
$b=20;
$c=30;
echo $a,$b,$c; //同时输出多个变量
//print $a,$b,$c; //print不可以一次输出多个变量
print $a.$b.$c; //现将变量连接成一个值,再由print输出。

echo "
"; //2. var_dump()和print_r()的格式化输出 //var_dump和print_r除了可以输出标量类型,也可以输出复合类型和特殊类型 var_dump(10); //int(10) 带类型输出 print_r(10); //10 等价于echo或print var_dump("zhangsan"); //string(8) "zhangsan" 带类型输出 print_r("zhangsan"); //zhangsan 等价于echo和print echo "
"; $a=array(10,20.8,"abc"); echo $a; //Array print $a; //Array print_r($a); //Array ( [0] => 10 [1] => 20.8 [2] => abc ) var_dump($a); //array(3) { [0]=> int(10) [1]=> float(20.8) [2]=> string(3) "abc" } echo "
"; $a=NULL; echo $a; //没有输出 print_r($a); //没有输出 var_dump($a); //NULL
View Code

常用处理函数

    ltrim() 去除左侧多余字符(默认删空格)
    rtrim() 去除右侧多余字符(默认删空格)
*    trim()  去除两侧多余字符(默认删空格)
    str_pad() 使用另一个字符串填充字符串为指定长度
*    函数: strtolower( ) 
        语法: string strtolower(string str);
        本函数将字符串 str 全部变小写字符串。 
*    函数: strtoupper( ) 
        语法: string strtoupper(string str); 
        本函数将字符串 str 全部变大写字符串。     
    函数:ucfirst( ) 
        将字符串第一个字符改大写。 
        语法: string ucfirst(string str); 
        本函数返回字符串 str 第一个字的字首字母改成大写。
    函数:ucwords( ) 
        将字符串每个字第一个字母改大写。 
        语法: string ucwords(string str); 
        本函数返回字符串 str 每个字的字首字母全都改成大写。

    int ord(string $string ) — 返回字符的 ASCII 码值
    string chr(int $ascii ) — 返回指定的字符
        
    网页输出格式化函数
    nl2br--将字串中\n换成
标签,实现换行输出。 * htmlspecialchars--格式换字串中的html标签 htmlentities-- * strip_tags -- 删除html标签函数 strrev -- 将字串颠倒返回 * strlen -- 求字串长度: 字母:一个算一个长度,汉字:utf-8编码是每个汉字3个长度,其他是2长度 * mb_strlen(str,"utf-8");获取中文字的长度 number_format -- 格式化数字的 * md5 -- 单向加密的(不可逆的(不能解密的))。 strcmp -- 整个比较是否相同 strncmp --指定长度的比较 strcasecmp-- 不区分大小写比较 strnatcmp -- 按自然顺序比较 similar_text -- 模糊比较 * explode -- 字符串拆分函数 * implode -- 字符串组合函数 * substr -- 截取字串 a.txt a.rm a.rmvb a.b.txt string返回值 substr( string string被截字串, int start起始位置 [, int length长度] ) * mb_substr() --截取指定编码的字串 * strstr -- 字串查找并截取 strchr -- 是上面的strstr的别名找并截取 strrchr -- 从后面做字串查找。找并截取 * strpos --寻早一个字符出现位置(从前开始。第三个参数为查找起始位置) strrpos --寻早一个字符出现位置(从后面开始找。) * 换成字串 str_replace(被换字串,换成的字串,原字串,[数量]);字符串替换 file_get_contents("文件名") // 获取指定文件的内容 file_put_contents("文件名","内容")//将内容写入(覆盖写)到指定文件中 file_put_contents("文件名","内容",FILE_APPEND) //将内容写入(追加写)到指定文件中  
常用字串函数简介
php
//字串格式化函数
/*
    ltrim() 去除左侧多余字符(默认删空格)
    rtrim() 去除右侧多余字符(默认删空格)
*    trim()  去除两侧多余字符(默认删空格)
*/

$s = " abc ";
echo "#".$s."#
"; echo "#".ltrim($s)."#
"; //去除左侧空格 echo "#".rtrim($s)."#
"; //去除右侧空格 echo "#".trim($s)."#
"; //去除两侧空格 //循环1到5的值,并使用逗号隔开 $str=""; for($i=1;$i<=5;$i++){ $str.=$i.","; } echo rtrim($str,","); //去除字串str后面多余的逗号
字串格式化
php
header("Content-Type: text/html;charset=utf-8");
//字串中大小写的转换
/*
*   函数: strtolower( ) 
        语法: string strtolower(string str);
        本函数将字符串 str 全部变小写字符串。 
*    函数: strtoupper( ) 
        语法: string strtoupper(string str); 
        本函数将字符串 str 全部变大写字符串。     
    函数:ucfirst( ) 
        将字符串第一个字符改大写。 
        语法: string ucfirst(string str); 
        本函数返回字符串 str 第一个字的字首字母改成大写。
    函数:ucwords( ) 
        将字符串每个字第一个字母改大写。 
        语法: string ucwords(string str); 
        本函数返回字符串 str 每个字的字首字母全都改成大写。
*/
$s = "Hello World!";
echo "原字串:".$s."
"; echo "转小写:".strtolower($s)."
"; echo "转大写:".strtoupper($s)."
"; $foo = 'hello world!'; echo ucwords($foo); // Hello World! echo ucfirst($foo); // Hello world! echo "

字串填充

"; for($i=1;$i<200;$i++){ echo "2015".str_pad($i,4,"0",STR_PAD_LEFT)."
"; }
字串中大小写的转换
php
//    网页输出格式化函数
/*
    nl2br--将字串中\n换成
标签,实现换行输出。 * htmlspecialchars--格式换字串中的html标签 htmlentities-- * strip_tags -- 删除html标签函数
*/ $str="aaaaaa\nbbbbbbbbbb\nccccccccc\nddddddddd"; echo nl2br($str); //将参数中的换行符替换成br标签 echo "
"; $s = "
  • aaaaa
  • bbbbb
  • ccccc
  • ddddd
"; echo "
"; 
echo htmlspecialchars($s); //将html中的< >转成对应的实体< > 


echo "
"; echo strip_tags($s); //清除字串中的HTML标签
网页输出格式化
php
//字串的其他格式化函数
/*
    strrev -- 将字串颠倒返回
*    strlen -- 求字串长度: 字母:一个算一个长度,汉字:utf-8编码是每个汉字3个长度,其他是2长度
*    mb_strlen(str,"utf-8");获取中文字的长度
    number_format -- 格式化数字的
*    md5 --  单向加密的(不可逆的(不能解密的))。
*/

//echo strlen("你好"); //在UTF-8编码占3个长度/每个字,其他占2个长度。

echo mb_strlen("你好","utf-8"); //2 指定编码求长度,无论字母还是汉字一个算一个。

//echo md5(md5("123")."asdfasdf"); //202cb962ac59075b964b07152d234b70


/*
$s = "zhangsan";
echo strrev($s);
echo "求字串长度:".strlen($s); //8
echo "
"; //数字格式化 $s = 123456784.657; echo number_format($s,2); //123,456,784.66 echo "
"; //php中的字串可以把它看成一个字符数组。 $s = "zhangsan"; echo $s[0]; //z echo $s[1]; //h echo $s[2]; //a echo "
"; //将字串s倒着输出 for($i=strlen($s)-1;$i>=0;$i--){ echo $s[$i]; } echo "
";
*/
字串的其他格式化
php
header("Content-Type: text/html;charset=utf-8");
//字串比较:
/*
    strcmp -- 整个比较是否相同
    strncmp --指定长度的比较
    strcasecmp-- 不区分大小写比较

    strnatcmp -- 按自然顺序比较
    similar_text -- 模糊比较
*/

//整个字串比较
echo strcmp("abc","abd"); //-1表示后面的大, 1表示前面的大 0表示相等

echo strncmp("abc","abd",2); //0相等: 比较字串的前2个字符是否相等


echo "
"; echo "id8和id18做字串比较:".strcmp("id8","id18")."
"; //1 前面大 echo "id8和id18做自然比较:".strnatcmp("id8","id18")."
";//-1 后面大 echo "
"; $s1 = "ae sdfl jqw lek rjqlkw ejr qlkwejrql kwerq wer asdf"; $s2 = "ae sdfl jqw lek rjqllw ejr qlkwejrql kwerq wer sdf"; echo "相似度:".((similar_text($s1,$s2)/strlen($s1))*100)."%";
字串比较
php
header("Content-Type: text/html;charset=utf-8");
//字串的拆分和拼装:
//*    explode -- 字符串拆分函数
//*    implode -- 字符串组合函数

$str = "10,;,20,;,30,;,40";
echo "原字串:".$str."
"; echo "拆分后:"; $a = explode(",;,",$str); //将字串str以逗号作为分隔符拆分出数组 print_r($a); echo "
"; $s = implode(":",$a); //将数组a以分隔符:拼装称字串 echo "拼装后的字串:".$s."
";
字串的拆分和拼装
php
header("Content-type:text/html;charset=utf-8");

//字串截取:
$str="mingrenboke";

//请使用字串截取函数substr()将上面字串中的ang截取出来;

echo substr($str,2,3)."
"; //从索引位置2开始截取3个长度 echo substr($str,2,-7)."
";//从索引位置2开始截取到最后,排除后7个 echo substr($str,-10,3)."
";//从倒数第10个位置开始,截取3个 echo substr($str,-10,-7)."
";//从倒数第10个位置开始,截取到最后,排除后7个 //截取中文 echo mb_substr("中文字串截取处理",2,4,"utf-8"); //字串查找并截取: //* strstr -- 字串查找并截取 // strchr -- 是上面的strstr的别名找并截取 // strrchr -- 从后面做字串查找。找并截取 $s = "zhangsan"; echo strstr($s,"a")."
"; //angsan 从字串s中查找第一个a字母出现的位置并截取到最后。 echo strchr($s,"a")."
"; //angsan 从字串s中查找第一个a字母出现的位置并截取到最后。 echo strrchr($s,"a"); //an 从字串s中后面开始向前查找第一出现的a字母,并截取到最后。 echo "
";
字串截取
php
//字串替换函数
//str_replace--字串替换
//mixed str_replace(mixed $search,mixed $replace,mixed $subject[,int &$count])

$s = "10,20,30,40,50";
//一对一替换:将上面字串中的逗号,替换成冒号:
echo str_replace(",",":",$s)."
"; $s = "10,20;30,40;50"; //多对一替换:将上面字串s中的逗号和分号都替换成冒号 echo str_replace(array(",",";"),":",$s)."
"; $s = "10,20;30,40;50"; //多对多对应替换:将上面字串s中的逗号换成冒号,分号换成感叹号 echo str_replace(array(",",";"),array(":","!"),$s);
字串替换
php
header("Content-type:text/html;charset=utf-8");

$s = "zhangsan";
echo "第一次出现a字母的位置:".strpos($s,"a")."
"; echo "倒数第一次出现a字母的位置:".strrpos($s,"a")."
";
字串查找

 

  

  

 

 

  

 

转载于:https://www.cnblogs.com/hyit/articles/11624669.html

你可能感兴趣的:(PHP之路 PHP基础【第五篇】字符串)