自写PHP strpos() 函数 查找字符串在另一字符串中第一次出现的位置。

自写PHP strpos() 函数 查找字符串在另一字符串中第一次出现的位置。

第一个: 从第一个字符开始查询

第二个: 自定义开始查询的位置

<?php
/*
PHP strpos() 函数
从第一个字符开始查询
*/

function findstr ($str2,$str1) {
/*strpos — Find the position of the first occurrence of a substring in a string
Description
在字符串中第一次出现的位置(0开始),没有输出-1。例如:
echo findstr("sswwd","wd");
输出会是3.
*/
	for ($i=0 ; $i<strlen($str2); $i++) { 
		if( $str1[0]==$str2[$i] ){
			for ($k=$j=$i,$m=0;$m<strlen($str1);$j++,$m++){
				if( $str1[$m]!=$str2[$j] ) {
					$k=-1;	
				}
			}
		if ($k==$i){
			return $k;
			}
		}
	}
 return -1;
}

echo findstr("sswwd","wd");
?>
<?php
/*
PHP strpos() 函数
自定义开始查询的位置
*/
function findstr ($str2,$str1,$start) {
/*strpos — Find the position of the first occurrence of a substring in a string
Description
在字符串中第一次出现的位置(0开始)。例如:
echo findstr("sswwd","wd");
输出会是3.
*/
	for ($i=$start ; $i<strlen($str2); $i++) { 
		if( $str1[0]==$str2[$i] ){
			for ($k=$j=$i,$m=0;$m<strlen($str1);$j++,$m++){
				if( $str1[$m]!=$str2[$j] ) {
					$k=-1;	
				}
			}
		if ($k==$i){
			return $k;
			}
		}
	}
 return -1;
}

echo findstr("sswqdwss三十d","wqd","1");
echo findstr("sswqdwss三十d","wqd","4");
//echo $_SERVER['SCRIPT_FILENAME'];

?>
echo findstr("一二三wqd","wqd");       //9
 echo findstr("sswqd","wqd");   		//2
 echo findstr("w2 r wqd","wqd");	//5
echo findstr("yw","wqd");				//-1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值