php基础之字符串简单操作

<?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/>";

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值