假设我有一个整数88123401
,并且我想确定它是否包含数字序列,如1234,23456,45789或任何长度的数字以及任何数字的开始这在PHP中是否可能呢?如果是这样的话,那么如何才能发现?确定一个字符串是否包含数字序列
1
A
回答
2
有一些功能让你去通过所有比较其前身每个字符的字符串。
function doesStringContainChain($str, $n_chained_expected)
{
$chained = 1;
for($i=1; $i<strlen($str); $i++)
{
if($str[$i] == ($str[$i-1] + 1))
{
$chained++;
if($chained >= $n_chained_expected)
return true;
}else{
$chained = 1;
}
}
return false;
}
doesStringContainChain("6245679",4); //true
doesStringContainChain("6245679",5); //false
+1
这几乎就是我希望达到的!非常感谢你!! –
0
将数字视为字符串,然后使用strpos()
进行搜索。
例子:
$mystring = '88123401';
$findme = '1234';
$pos = strpos($mystring, $findme);
if ($pos === false) {
echo "The sequence '$findme' was not found in the number '$mystring'";
} else {
echo "The sequence '$findme' was found in the number '$mystring'";
echo " and exists at position $pos";
}
+0
会有更有效的方式去处理所有不同的序列吗? '123','2345','34567'等? –
+0
你可能可以使用一个聪明的正则表达式,但我没有足够的资格来给出最好的答案。 – jtheman
2
使用一个循环,并使用@jtheman
$mystring = '88123401';
$findme = array(123,2345,34567);
foreach ($findme as $findspecificnum) {
$pos = strpos($mystring, $findme);
if ($pos === false) {
echo "The sequence '$findme' was not found in the number '$mystring'";
} else {
echo "The sequence '$findme' was found in the number '$mystring'";
echo " and exists at position $pos";
}
}
的答案保持它的简单,直接的。
0
这可以帮助你:
$number = "88123401";
$splittedNumbers = str_split($number);
$continuous = false;
$matches[0] = '';
$i = 0;
do {
if ((int)(current($splittedNumbers) + 1) === (int)next($splittedNumbers)) {
if($continuous) {
$matches[$i] .= current($splittedNumbers);
}
else {
$matches[$i] .= prev($splittedNumbers) . next($splittedNumbers);
$continuous = true;
}
} else {
$continuous = false;
$matches[++$i] = '';
}
prev($splittedNumbers);
} while (!(next($splittedNumbers) === false));
print_r(array_values(array_filter($matches)));
这列出了所有在数组中的顺序匹配。我们可以根据结果进一步处理。
结果:
Array
(
[0] => 1234
[1] => 01
)
相关问题
- 1. 确定是否一个字符串包含一个字
- 2. 如何确定一个字符串是否包含非字母数字字符?
- 3. 确定一个字符串是否包含数组中的子字符串[NODEJS]
- 4. 确定一个字符串是否包含任何一组字符串
- 5. 确定一个字符串是否包含它内部的base64字符串
- 6. Bash确定变量名是否包含一个字符串
- 7. 确定字符串是否仅包含数字
- 8. 如何确定一个字符串包含字符串
- 9. 检查一个字符串是否包含数字和字母
- 10. Applescript:检查一个字符串是否包含空字符串?
- 11. 检查一个列表是否包含一个字符串
- 12. 检查一个字符串是否包含正确位置的子字符串
- 13. 如何确定一个字符串是否包含来自另一个字符串的字
- 14. 正则表达式来确定一个字符串是否包含在另一个字符中(n个字符)
- 15. 确定字符串是否包含多个单词?
- 16. 检查一个字符串是否包含数字
- 17. F#检查一个字符串是否只包含数字
- 18. 检查字符串是否包含一个数字范围
- 19. Java,如何检查一个字符串是否包含数字?
- 20. 如何确定是否一个字符串包含重复字母
- 21. python:如何确定一个字符串是否包含一个元组?
- 22. 确定一个字符串数组是否包含ruby中的某个子字符串
- 23. pandas:测试字符串是否包含列表中的一个子字符串
- 24. MYSQL搜索一个字符串是否包含特殊字符?
- 25. 检查一个字符串是否只包含特殊字符
- 26. 如何确定一个字符串是否是ksh的数字
- 27. PHP检查字符串是否包含一些字母/数字
- 28. 检查一个字符串是否不包含一些文字
- 29. 如何确定一个字符串至少包含一个字母字符?
- 30. 查找字符串是否包含字
您可以使用[正则表达式(http://php.net/book.pcre) – izk
这听起来像一个家庭作业的问题,请你告诉我们你有什么试过吗? –
我曾试着看过子字符串和正则表达式,但我不确定如何去确定这个确切的问题。 –