PHP模拟实现Java的endsWith
Java中的startsWith和endsWith方法,在filter的功能实现中很方便,PHP可以用strncmp()
实现startsWith,但是无法实现endsWith,有些人会用正则来实现,但大多数人都不喜欢正则表达式的操作。
这里我通过一个叫substr_compare的方法实现(同时他也能实现startsWith)。
定义和用法
substr_compare() 函数从指定的开始长度比较两个字符串。
该函数返回:
0 - 如果等两字符串相
<0 - 如果 string1 (从开始位置)小于 string2
>0 - 如果 string1 (从开始位置)大于 string2
语法
substr_compare(string1,string2,startpos,length,case)
参数
描述
string1
必需。规定要比较的第一个字符串。
string2
必需。规定要比较的第二个字符串。
startpos
可选。规定在 string1
中的何处开始比较。
length
可选。规定在 string1
中参与比较的字符数。
case
可选。规定是否指定大小写比较。默认是 FALSE (对大小写敏感)。
使用substr_compare重写后的startsWith和endsWith如下
function startsWith(){
$string1 = "XXXX";
$string2 = "XXXX";
if(strlen($string1)<strlen($string2)){ //若第一个字符串长度小于第二个的时候,必须指定返回false,
return false; //否则substr_compare遇到这种情况会返回0(即相当,与事实不符合)
}else{
return !substr_compare($string1,$string2,0,strlen($string2));//当第一个长度大于第二个时才开始判断
}
}
function endsWith(){
$string1 = "XXXX";
$string2 = "XXXX";
if(strlen($string1
相关文档:
初学PHP的时候,我们经常被PHP的绝对路径和相对路径弄的晕头转向。路径问题经常导致include及require命令不能加载到指定的页
面,从而导致Web程序运行错误。本文将跟大家一起探讨一下PHP路径问题的常用解决方案。
下面我们先做一个个简单的示例:
上图是一个简单Web项目的结构图,其中各文件的代码如下: ......
字号:大 中 小
import java.awt.Graphics;
import java.io.File;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.SourceDataLine;
public class M ......
Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等 指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时 动态分配内存的,Java的垃圾收集器会自动收走这些不再 ......
运用加密技术保护Java源代码
内容:
一、为什么要加密?
二、定制类装入器
三、加密、解密
四、应用实例
五、注意事项
参考资源
Java程序的源代码很容易被别人
偷看。只要有一个反编译器,任何 ......
php验证码显示红色叉叉
这个问题困扰我半天了。在本机上测试是正常的,环境是win2003+php+mssql.显示正常。
现在我把程序转移到新服务器上,验证码就不显示了,不知道是什么情况,我检测了服务器环境,gd是支持的,如下图:
但是,就是不显示,如有高手,请跟帖,谢谢了。 ......