部分常见字符串函数举例
<?php
// addcslashes()返回在指定的字符前添加反斜杠的字符串。
echo $str1 = "dkjdhskfalhdd";
echo '<hr>';
$str2 = addcslashes($str1 , 'd');
echo $str2;
echo '<hr>';
// stripcslashes() 删除由 addcslashes() 函数添加的反斜杠。
echo stripcslashes($str2);
echo '<hr>';
// addslashes() 返回在预定义的字符前添加反斜杠的字符串
echo $str3 = addslashes('What does "yolo" mean?');
echo '<hr>';
// stripslashes() 删除由 addslashes() 函数添加的反斜杠。
echo stripslashes($str3);
echo '<hr>';
// bin2hex() 把 ASCII 字符的字符串转换为十六进制值。
echo bin2hex($str1);
echo '<hr>';
// chop()移除字符串右侧的空白字符或其他预定义字符
$str = "Hello World!";
echo $str . "<br>";
echo chop($str,"World!");
echo '<hr>';
// chunk_split() 把字符串分割为一连串更小的部分
echo chunk_split($str1, 2,"-");
echo '<hr>';
// explode() 把字符串打散为数组。
$str4 = "hello_i_am_very_happy";
echo print_r(explode("_",$str4));
echo '<hr>';
// implode() 返回一个由数组元素组合成的字符串。
$array = ["hello","i",'am','very','happy'];
echo implode("",$array);
echo '<hr>';
// lcfirst() 把字符串中的首字符转换为小写。
// ucfirst() 把字符串中的首字符转换为大写。
$str5 = 'I AM ALL big';
echo lcfirst($str5).'<br>';
echo ucfirst($str5);
echo '<hr>';
// str_ireplace() 替换字符串中的一些字符(大小写不敏感)。
$str6 = 'I AM ALL big';
echo str_ireplace("i","you",$str6);
echo '<hr>';
// str_replace() 替换字符串中的一些字符(大小写敏感)。
echo str_replace("I","you",$str6);
echo '<hr>';
// str_shuffle() 随机地打乱字符串中的所有字符。
echo str_shuffle($str6);
echo '<hr>';
// str_split() 把字符串分割到数组中。
echo print_r(str_split($str6,3));
echo '<hr>';
// strcasecmp() 比较两个字符串(大小写不敏感)。
$str7 = 'aabbccDd';
$str8 = 'AABBCCDD';
$str9 = 'aaccbbdd';
echo strcasecmp($str7,$str8).'<br>';
echo strcasecmp($str7,$str9);
echo '<hr>';
// strtok() 把字符串分割为更小的字符串。
$str9 = "Hello world. Beautiful day today.";
$token = strtok($str9, " ");
while ($token != false)
{
echo "$token<br>";
$token = strtok(" ");
}
echo '<hr>';
// strchr() 查找字符串在另一字符串中的第一次出现。(strstr() 的别名。)
echo strchr($str9,'a');
echo '<hr>';
// strcspn() 返回在找到任何指定的字符之前,在字符串查找的字符数。
echo strcspn($str9,'a');
echo '<hr>';
// ucwords() 把字符串中每个单词的首字符转换为大写。
echo ucwords($str9);
echo '<hr>';
// wordwrap() 按照指定长度对字符串进行折行处理
$str10 = "An example of a long word is: Supercalifragulistic";
echo wordwrap($str10,15,"<br>\n");
echo '<hr>';
// substr_replace() 把字符串的一部分替换为另一个字符串。
$str11 = 'wo de zhun bei ti huan hdsajhfjd ';
$str12 = "------";
echo substr_replace($str11 ,$str12 ,20,5);
echo '<hr>';
// substr_count() 计算子串在字符串中出现的次数。
echo substr_count($str11 ,"h",30)."<br>";
echo substr_count($str11 ,"h");
echo '<hr>';
// mb_substr() 返回中文字符串的一部分。
$str13 = "hahahah我的你的返回一部分PPPPPXYGHLJSDPPPPPP";
echo mb_substr($str13,13);
echo '<hr>';
// strtr() 转换字符串中特定的字符。
echo strtr($str13,["a"=>"A","的"=>"*"]);
echo '<hr>';
// strtoupper() 把字符串转换为大写字母。
echo strtoupper($str13);
echo '<hr>';
// strtolower() 把字符串转换为小写字母。
echo strtolower($str13);
echo '<hr>';
// strlen() 返回字符串的长度。中文字符串的处理使用 mb_strlen() 函数。
echo strlen($str13).'<br>';
echo mb_strlen($str13);
echo '<hr>';
// strnatcasecmp() 使用一种"自然排序"算法来比较两个字符串(大小写不敏感)。
// strnatcmp() 使用一种"自然排序"算法来比较两个字符串(大小写敏感)。
$str14 = '3.4.6';
$str15 = "3.4.3";
$str16 = "Aca"; // a=97 A = 65
$str17 = "abb";
echo strnatcasecmp($str14,$str15).'<br>';
echo strnatcasecmp($str16,$str17).'<br>';
echo strnatcmp($str16,$str17).'<hr>';
// strncasecmp() 前 n 个字符的字符串比较(大小写不敏感)。
// strncmp() 前 n 个字符的字符串比较(大小写敏感)。
echo strncasecmp($str16,$str17,2).'<br>';
echo strncmp($str16,$str17,2).'<hr>';
总结
- 字符串函数很多,并且很多函数有类似的功能,所以唯有熟练才能选择最合适的;
- 注意字符串函数的参数以及返回值,正确传参和接收。