PHP怎样查询子字符串位置

字符串主要用于编程,字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的。字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

本文讲述用PHP以及js查询字符串中子字符串所有出现位置

JS中indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。运用第二个参数,循环调用就能获取到子串出现的所有位置。

/**
* 查询字符串中子字符串出现位置
* @param str
* @param substr
* @return {Array}
*/
function search_substr_pos(str, substr) {
var _search_pos = str.indexOf(substr), _arr_positions = [];
while (_search_pos > -1) {
_arr_positions.push(_search_pos);
_search_pos = str.indexOf(substr, _search_pos + 1);
}
return _arr_positions;
}

var str = "look at me,is there anything can prove that I am a good guy ?";
var $_pos_substr = search_substr_pos(str, 'e');//子串位置
var $_times_substr = $_pos_substr.length;//出现次数

console.log($_pos_substr); // [ 9, 16, 18, 37 ]
console.log($_times_substr); // 4

同理,PHP中使用strpos()方法

/**
* 查询字符串中子字符串出现位置
* @param $str
* @param $substr
* @return array
*/
function search_substr_pos($str, $substr)
{
$_search_pos = strpos($str, $substr);
$_arr_positions = array();
while ($_search_pos > -1) {
$_arr_positions[] = $_search_pos;
$_search_pos = strpos($str, $substr, $_search_pos + 1);
}
return $_arr_positions;
}

$str = "look at me,is there anything can prove that I am a good guy ?";
$_pos_substr = search_substr_pos($str, 'e');//子串位置
$_times_substr = count($_pos_substr);//出现次数

print_r($_pos_substr); // Array ( [0] => 9 [1] => 16 [2] => 18 [3] => 37 )
print_r($_times_substr); // 4
赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » PHP怎样查询子字符串位置

登录

找回密码

注册