PHP 字符串操作

Posted 5arno

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 字符串操作相关的知识,希望对你有一定的参考价值。

关于php字符串的操作函数

代码如下:

<?php
//addcslashes()  在字符 “A” 之前添加一个反斜杠
$a = "abcdefg";
$value = addcslashes($a,c);
echo $value;
echo "<b style='color: blue'>我是addcslashes()</b>";
echo "<br/>
";

//addslashes() 在每个双引号(")前添加反斜杠
$str = addslashes('shanghai is very "problem" city');
echo $str;
echo "<b style='color: blue'>我是addslashes()</b>";
echo "<br/>
";

//html_entity_decode() 把 HTML 实体转换为字符
$str1 = "Bill &amp; &#039;Steve&#039;";
echo html_entity_decode($str1,ENT_QUOTES, "ISO-8859-1");
echo "<br/>
";echo "<b style='color: blue'>我是html_entity_decode()</b>";

//htmlentities()把字符转换为 HTML 实体
$str2 = "<? W3S?h????>";
echo htmlentities($str2);
echo "<b style='color: blue'>我是htmlentities()</b>";
echo "<br/>
";


//chunk_split() 在每个字符后分割一次字符串,并在每个分割后添加 "."
//语法:chunk_split(string,length,end)
//参数:string 必需。规定要分割的字符串。
//     length   可选。数字值,定义字符串块的长度  默认是76
//     可选。字符串值,定义在每个字符串块末端放置的内容。默认是 

$str3 = "hello";
echo chunk_split($str3,1,".");echo "<b style='color: blue'>我是chunk_split()</b>";
echo "<br/>
";

//str_split()  把字符串分割到数组中
print_r(str_split("hello"));
echo "<b style='color: blue'>我是str_split()</b>";echo "<br/>";

//strtok()   逐一分割字符串
//语法:strtok(string,split)
//参数:string 必需。规定要分割的字符串。  split    必需。规定一个或多个分割字符。
$string = "Hello world. Beautiful day today.";
$aa = strtok($string," ");
while ($aa !== false)
{
    echo "$aa<br>";
    $aa = strtok(" ");
}    echo "<b style='color: blue'>我是strtok()</b>";echo "<br/>";

//explode()   把字符串打散为数组
//语法:explode(separator,string,limit)
//参数:separator  必需。规定在哪里分割字符串。  string  必需。要分割的字符串。
//limit   可选。规定所返回的数组元素的数目。
//可能的值:
//大于 0 - 返回包含最多 limit 个元素的数组
//小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组
//0 - 返回包含一个元素的数组
$str4 = "Hello world. I love Shanghai!";
print_r (explode(" ",$str4));
echo "<b style='color: blue'>我是explode()</b>";echo "<br/>";

//str_shuffle()   随机打乱字符串中所有字符
//语法:str_shuffle(string)
//参数:string 必需。规定要打乱的字符串。
echo str_shuffle("I love Shanghai");
echo "<b style='color: blue'>我是str_shuffle()</b>";echo "<br/>";

//implode() 把数组元素组合为字符串
//语法:implode(separator,array)
//separator 可选。规定数组元素之间放置的内容。
//array 必需。要组合为字符串的数组。
$arr1 = array('Hello','World!','I','love','Shanghai!');
foreach ($arr1 as $key => $value){
    echo "key => $key value => $value";
    echo "<br/>";
}
echo "以上是遍历数组的值<br/>";
echo implode(" ",$arr1);
echo "<b style='color: blue'>我是implode()</b>";echo "<br/>";
//join()  implode()的别名
echo "join() 是implode()的别名";
echo "<b style='color: blue'>我是join()</b>";echo "<br/>";

//bin2hex()  把ASCII字符的字符串转换为十六进制
$b = "hello";
echo bin2hex($b);
echo "<b style='color: blue'>我是bin2hex()</b>";echo "<br/>";

//hex2bin()  把十六进制的字符转换为ASCII字符
echo hex2bin("48656c6c6f20576f726c6421");
echo "<b style='color: blue'>我是hex2bin()</b>";echo "<br/>";

//lcfirst()   把字符串的首字符转换为小写
$xiaoxie = "HELLO";
echo lcfirst($xiaoxie);
echo "<b style='color: blue'>我是lcfirst()</b>";echo "<br/>";

//number_format()  格式化数字
//语法:number_format(number,decimals,decimalpoint,separator)
//参数:number  必需。要格式化的数字。 如果未设置其他参数,则数字会被格式化为不带小数点且以逗号(,)作为千位分隔符。
//decimals  可选。规定多少个小数。如果设置了该参数,则使用点号(.)作为小数点来格式化数字。
//decimalpoint  可选。规定用作小数点的字符串。
//separator  可选。规定用作千位分隔符的字符串。仅使用该参数的第一个字符。比如 "xxx" 仅输出 "x"。  注释:如果设置了该参数,那么所有其他参数都是必需的。
echo number_format("9999")."<br>";
echo "希望返回一个价格:一个参数将对数字进行舍入";
$num = 4999.9;
$formattedNum = number_format($num)."<br>";
echo $formattedNum;
$formattedNum = number_format($num, 2);
echo $formattedNum;
echo "<b style='color: blue'>我是number_format()</b>";echo "<br/>";

//similar_text()  计算两个字符串的相似度
echo similar_text("Hello World","Hello Shanghai");

//str_ireplace()    替换字符串的一些字符 对大小写不敏感
//语法:str_ireplace(find,replace,string,count)
//参数: find  必需。规定要查找的值。也就是被替换的值
//      replace 必需。规定替换的值
//      string  必需。规定被搜索的字符串。
//      count   可选。一个变量,对替换数进行计数。
echo str_ireplace("WORLD","Shanghai","Hello world!");
echo "<b style='color: blue'>我是str_ireplace()</b>";echo "<br/>";

//str_replace()   替换字符串的一些字符 对大小写敏感
//语法:str_replace(find,replace,string,count)
//参数: find  必需。规定要查找的值。
//      replace 必需。规定替换 find 中的值的值。
//      string  必需。规定被搜索的字符串。
//      count   可选。对替换数进行计数的变量。
echo str_replace("world","Shanghai","Hello world!");
echo "<b style='color: blue'>我是str_replace()</b>";echo "<br/>";

//strlen  返回字符串的长度
echo strlen("hello");
echo "<b style='color: blue'>我是strlen()</b>";echo "<br/>";

//str_repeat() 函数把字符串重复指定的次数。
//语法:str_repeat(string,repeat)
//参数: string    必需。规定要重复的字符串。
//      repeat  必需。规定字符串将被重复的次数。必须大于等于 0。
$chongfu = "PHP是最好的语言";
echo str_repeat($chongfu,5);
echo "<b style='color: blue'>我是str_repeat()</b>";echo "<br/>";

//str_word_count() 计算字符串中的单词书
echo str_word_count("hello world ad s ljhas ");
echo "<b style='color: blue'>我是str_word_count()</b>";echo "<br/>";

//strcasecmp()  比较两个字符串   对大小写不敏感
echo strcasecmp("hello","hel");
echo "<b style='color: blue'>我是strcasecmp()</b>";echo "<br/>";


//strcmp()    比较两个字符串   对大小写敏感
//返回值:该函数返回:
//0 - 如果两个字符串相等
//<0 - 如果 string1 小于 string2
//>0 - 如果 string1 大于 string2
echo strcmp("hello","He");
echo "<b style='color: blue'>我是strcmp()</b>";echo "<br/>";

//strchr()    查找字符串在另一鸽字符串中的第一次出现  strstr的别名
echo strchr("Hello world!","ll");
echo "<b style='color: blue'>我是strchr()</b>";echo "<br/>";

//stripos()    返回字符串在另一字符串中第一次出现的位置   对大小写不敏感
//语法:stripos(string,find,start)
//参数: string    必需。规定要搜索的字符串。
//      find    必需。规定要查找的字符。
//      start   可选。规定开始搜索的位置。
//类似于下标从0开始带空格
echo stripos("You love php, I love php too!","l");
echo "<b style='color: blue'>我是stripos()</b>";echo "<br/>";


//strpos()  返回字符串在另一字符串中第一次出现的位置   对大小写敏感
echo strpos("Hello ljh","H");
echo "<br/>";
echo strpos("Hello ljh","h");
echo "<b style='color: blue'>我是strpos()</b>";echo "<br/>";

//strrev()  反转字符串
echo strrev("olleH");
echo "<b style='color: blue'>我是strrev()</b>";echo "<br/>";

//strtolower()   把字符串转换为小写字母
echo strtolower("HELLO WORLD");
echo "<b style='color: blue'>我是strtolower()</b>";echo "<br/>";

//strtoupper()   把字符串转换为大写字母
echo strtoupper("hello world");
echo "<b style='color: blue'>我是strtoupper()</b>";echo "<br/>";

//substr()  返回字符串的一部分
//语法:substr(string,start,length)
//参数:string 必需。规定要返回其中一部分的字符串。
//start 必需。规定在字符串的何处开始。
//正数 - 在字符串的指定位置开始
//负数 - 在从字符串结尾的指定位置开始
//0 - 在字符串中的第一个字符处开始
//length    可选。规定要返回的字符串长度。默认是直到字符串的结尾。
//正数 - 从 start 参数所在的位置返回
//负数 - 从字符串末端返回
echo substr("Hello world",6);
echo "<b style='color: blue'>我是substr()</b>";echo "<br/>";

//字符串输出函数
//echo       输出一个或多个字符串
//print      输出一个或多个字符串
//printf     输出格式化的字符串
//fprintf    把格式化的字符串写入到指定的输出流
//sprintf    把格式化的字符串写入变量中
//sscanf     根据指定的格式解析来自字符串的输入
//parse_str  把查询字符串解析到变量中

//chr()  从不同的 ASCII 值返回字符
echo chr(97) . "<br>"; // 十进制
echo chr(061) . "<br>"; // 八进制值
echo chr(0x61) . "<br>"; // 十六进制值
echo "<b style='color: blue'>我是chr()</b>";echo "<br/>";

//ord()  返回字符串的首个字符的 ASCII
echo ord("a");
echo "<b style='color: blue'>我是ord()</b>";echo "<br/>";

//crc32()  计算字符串的32位CRC
$stra = crc32("Shanghai");
printf("%u
",$stra);
echo "<b style='color: blue'>我是crc32()</b>";echo "<br/>";

//md5()    计算字符串的MD5散列
echo md5("admin");
echo "<b style='color: blue'>我是md5()</b>";echo "<br/>";

//md5_file()  计算文件的MD5散列
echo md5_file("string operation.php");//就是本文件的md5值
echo "<b style='color: blue'>我是md5_file()</b>";echo "<br/>";


//sha1()   计算字符串的SHA-1散列
echo sha1("admin");
echo "<b style='color: blue'>我是sha1()</b>";echo "<br/>";

//sha1_file()  计算文件的MD5散列
echo sha1_file("string operation.php");//就是本文件的md5值
echo "<b style='color: blue'>我是sha1_file()</b>";echo "<br/>";

执行结果如下图 可以对比:
技术图片

  • 文中的md5()计算如下:
    技术图片

以上是关于PHP 字符串操作的主要内容,如果未能解决你的问题,请参考以下文章

超级有用的9个PHP代码片段

PHP必用代码片段

PHP代码-psysh调试代码片段工具

超实用的php代码片段

比较有用的php代码片段

php 在终端中模拟一点加载字符的片段