php with函数,PHP中的startsWith()和endsWith()函数
我如何编写两个带字符串的函数,如果它以指定的字符/字符串开头或以它结尾,则返回?
例如:
$str = '|apples}';
echo startsWith($str, '|'); //Returns true
echo endsWith($str, '}'); //Returns true
#1楼
上面的正则表达式功能,但上面提到的其他调整:
function startsWith($needle, $haystack) {
return preg_match('/^' . preg_quote($needle, '/') . '/', $haystack);
}
function endsWith($needle, $haystack) {
return preg_match('/' . preg_quote($needle, '/') . '$/', $haystack);
}
#2楼
简而言之:
function startsWith($str, $needle){
return substr($str, 0, strlen($needle)) === $needle;
}
function endsWith($str, $needle){
$length = strlen($needle);
return !$length || substr($str, - $length) === $needle;
}
#3楼
您可以使用substr_compare函数来检查start-with和ends-with:
function startsWith($haystack, $needle) {
return substr_compare($haystack, $needle, 0, strlen($needle)) === 0;
}
function endsWith($haystack, $needle) {
return substr_compare($haystack, $needle, -strlen($needle)) === 0;
}
这应该是PHP 7( 基准脚本 )上最快的解决方案之一。测试了8KB干草堆,各种长度的针和完整,部分和无匹配的情况。strncmp是一个更快的触摸开始 - 但它无法检查结束。
#4楼
为什么不以下?
//How to check if a string begins with another string
$haystack = "valuehaystack";
$needle = "value";
if (strpos($haystack, $needle) === 0){
echo "Found " . $needle . " at the beginning of " . $haystack . "!";
}
输出:
在valuehaystack开头找到价值!
请记住,如果在大海捞针中找不到针, strpos将返回false,并且当且仅当在指数0处找到针时才会返回0(AKA开头)。
以下是:
$haystack = "valuehaystack";
$needle = "haystack";
//If index of the needle plus the length of the needle is the same length as the entire haystack.
if (strpos($haystack, $needle) + strlen($needle) === strlen($haystack)){
echo "Found " . $needle . " at the end of " . $haystack . "!";
}
在这种情况下,不需要函数startsWith()as
(strpos($stringToSearch, $doesItStartWithThis) === 0)
将准确地返回真或假。
这看起来很奇怪,所有狂野的功能在这里都很猖獗。
#5楼
我意识到这已经完成了,但你可能想看一下strncmp因为它允许你把字符串的长度进行比较,所以:
function startsWith($haystack, $needle, $case=true) {
if ($case)
return strncasecmp($haystack, $needle, strlen($needle)) == 0;
else
return strncmp($haystack, $needle, strlen($needle)) == 0;
}
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3138854
php with函数,PHP中的startsWith()和endsWith()函数相关推荐
- python中endswith函数_Python中的startswith和endswith函数使用实例
在Python中有两个函数分别是startswith()函数与endswith()函数,功能都十分相似,startswith()函数判断文本是否以某个字符开始,endswith()函数判断文本是否以某 ...
- python endswith函数_Python中的startswith和endswith函数使用实例
在Python中有两个函数分别是startswith()函数与endswith()函数,功能都十分相似,startswith()函数判断文本是否以某个字符开始,endswith()函数判断文本是否以某 ...
- Python中的startswith和endswith函数使用实例
Python中的startswith和endswith函数使用实例 在Python中有两个函数分别是startswith()函数与endswith()函数,功能都十分相似,startswith()函数 ...
- python中函数startswith的用法_Python中的startswith和endswith函数使用实例
在Python中有两个函数分别是startswith()函数与endswith()函数,功能都十分相似,startswith()函数判断文本是否以某个字符开始,endswith()函数判断文本是否以某 ...
- strcompare php,PHP中的startswith()和endsWith()函数
泛舟湖上清波郎朗 功能function substr_startswith($haystack, $needle) { return substr($haystack, 0, strlen($need ...
- python数据处理常用函数_Python中常用操作字符串的函数与方法总结
Python中常用操作字符串的函数与方法总结 这篇文章主要介绍了Python中常用操作字符串的函数与方法总结,包括字符串的格式化输出与拼接等基础知识,需要的朋友可以参考下 例如这样一个字符串 Pyth ...
- php 与时间有关的函数,php中与时间相关的常用函数有哪些
php中与时间相关的常用函数有:date_default_timezone_set().date_create().date_diff().date_timestamp_get().strtotime ...
- java怎么调用存储函数_java中调用存储过程或存储函数的方法
java中调用存储过程或存储函数的方法 1.调用存储过程:CallableStatement clstmt = null;try {clstmt = conn.prepareCall("{c ...
- python中延时函数_python中实现延时回调普通函数示例代码
python中实现延时回调普通函数示例代码 这篇文章主要给大家介绍了关于python中实现延时回调普通函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的 ...
- mysql 占比函数_MySQL中你必须了解的函数
在学习MySQL的时候你会发现,它有非常多的函数,在学习的时候没有侧重.小编刚开始学习的时候也会有这个感觉.不过,经过一段时间的学习之后,小编发现尽管函数有很多,但是常用的却只有那几个.今天小编就把常 ...
最新文章
- 33篇顶会论文如何做到?北大施柏鑫:论文投稿到接收,不可不知的关键环节...
- linux cron读哪个文件,linux crontab 文件位置和日志位置
- 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波7 - 直方图处理 - 直方图、归一化直方图
- 在VS中设置比较和谐的字体和颜色的方法
- NAS+CNN+Transformer=ViT-Res!MIT团队重磅开源ViT-Res,精度高于DeiT-Ti8.6%
- 从 CentOS 5.5 中精简出属于自己的专属Linux(二)
- Java的GUI学习八(键盘码查询器)
- 2019网易雷火笔试编程题
- SpringCloud基础学习
- 从孤独里找到一束光-2021
- maven下载Nexus私服jar包,报错Not authorized
- 古诗三百首(html)
- 【昊泽爷爷】六一儿童节礼物——学做简单机器人的工作台
- vue-生成二维码【生成、点击输入框内叉号移除生成的二维码、输入框聚焦】
- 垂直领域知识图谱_垂直知识图谱的构建与应用研究
- vue项目中数据更新页面不刷新问题
- AspNet2.0页面生命周期的各个事件细节
- 计算机网络课程设计小区组网,计算机网络课程设计-组建智能化小区局域网参考.doc...
- 网站内链优化,网站内部链接优化
- 当你的移动硬盘弄坏了你的文件该如何恢复呢