<?php
//常用字符串处理函数简单练习
//按字节反转:strrev()按字节反转字符串 ,返回反转后的字符串
$str="good good study day day up";
echo strrev($str)."<br/>";//pu yad yad yduts doog doog
//按字反转:通过explode()函数和array_reverse()函数,implode()函数实现字符串按字反转
/*1,explode()函数,explode — 使用一个字符串分割另一个字符串 ,此函数返回由字符串组成的数组
*此函数返回由字符串组成的 array ,每个元素都是 string 的一个子串,它们被字符串 delimiter *作为边界点分割出来。
*如果 delimiter 为空字符串(""), explode() 将返回 FALSE 。 如果 delimiter 所包含的值在 string *中找不到,则返回一个数组,只有一个元素,该元素的值就是原始字符串的值。
*如果 delimiter 所包含的值在 string 中找不到并且使用了负数的 limit , 那么会返回空的 array , *否则返回包含 string 单个元素的数组。
*/
$word=explode(" ",$str);
//print_r($word);//Array ( [0] => good [1] => good [2] => study [3] => day [4] => day [5] => up )
/*
*2,array_reverse ()— 返回一个单元顺序相反的数组
*/
$strr=array_reverse($word);
//print_r($strr);//Array ( [0] => up [1] => day [2] => day [3] => study [4] => good [5] => good )
/*
*3,implode()函数将一个数组中的元素通过连接符连成字符串
*/
$rs=implode(' ',$strr);
echo $rs;//up day day study good good
echo "<br/>";
//strpos ()— 逐字节查找字符串首次出现的位置(int 值),传入第三个参数可以指定从哪个位置开始查找。
$string="good good study day day up";
echo strpos($string,'d');//3
echo "<br/>";
echo strpos($string,'d',4);//8
echo "<br/>";
//计算$string中元音字母的个数
$num=0;
$len=strlen($string);
for($i=0;$i<$len;$i++){
if(strpos("aeiouAEIOU",$string[$i])!==false){//注意:当查找返回0时表示在第一个位置找到了。
$num++;
}
}
echo $num."<br/>";//8
//替换子字符串:substr_replace ( mixed $string , string $replacement , int $start [, int $length ] )
//在字符串 string 的副本中将由 start 和可选的 length 参数限定的子字符串使用 replacement 进行替换
//如果 start 为负数,替换将从 string 的倒数第 start 个位置开始
$tel="83881691992";
echo substr_replace($tel,'6666',strlen($tel)-4);//83881696666
echo "<br/>";
//提取子字符串:string substr ( string $string , int $start [, int $length ] )
//如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。
//如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。
//如果 string 的长度小于或等于 start,将返回 FALSE。
$s="good good study day day up";
echo substr($s,10);//study day day up
echo "<br/>";
//strrchr () 查找指定字符在字符串中的最后一次出现
//string strrchr( string $haystack
, mixed $needle
)该函数返回 haystack
字符串中的一部分,这部分以 needle
的最后出现位置开始,直到 haystack
末尾
//该函数可以用来判断文件的扩展名
<?php
$filename="index.php";
echo strrchr($filename,".");//输出.php
?>
//在字符串指定位置后插入字符串, 这个写的很菜,希望能学到更好的方法;
function insert_str($str,$offset,$input){
$newstr='';
$len=strlen($str);
//如果在字符串的最后位置之后插入
if($offset>=$len-1){
$newstr.=$str.$input;
return $newstr;
}
$startstr='';
for($i=0;$i<=$offset;$i++){
$startstr.=$str[$i];
}
$endstr='';
for($j=$offset+1;$j<$len;$j++){
$endstr.=$str[$j];
}
$newstr.=($startstr.$input.$endstr);
return $newstr;
}
$str=insert_str("good good day day up",9,"study");
echo $str."<br/>";//good good studyday day up
//在字符串的指定字符后插入字符串
function insert_strr($str, $substr, $input){
$newstr = '';
$len=strlen($str);
$startstr='';
for ($i=0;$i<=strpos($str,$substr);$i++){
$startstr.=$str[$i];
}
$endstr='';
for($j=strpos($str,$substr)+1;$j<$len;$j++){
$endstr.=$str[$j];
}
$newstr.=($startstr.$input.$endstr);
return $newstr;
}
$newstr=insert_strr('123456789','4', '—');
echo $newstr."<br/>";
?>