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
相关文档:
在成功实现Java调用C++之后,接下来想到能否通过JNA实现Java调用Fortran,今天试验了一下,还是比较容易的。
网上有一个Java调用F95的例子,但是我考虑不仅要实现F95的调用,还要实现F77的调用,所以费了一些周折。
问题的关键在于F77为过程名自动添加了一个尾部的下划线,所以sub1这个过程,到Java一端,就变成了sub1_, ......
最近公司碰到需要用图表的形式显示一些数据,我就开始到网上查询,查到了jfreechart和amcharts,这两者我都实现过了,jfreechart最后生成图片,但是图片效果不是我想要的,然后又研究amcharts 它的效果确实很好,而且官方网站上还有好些例子可供下载,网址是:www.amcharts.com
(想要完成一个amcharts图形需要swfobjects. ......
我们在进行WEB开发的时候,经常需要在客户端编写一些js函数,这些函数如果需要在服务端执行的话,如果重新编写的话,就显得十分冗余,因此我们可以尝试在服务端,直接执行js,这样的话就可以避免重复劳动,同时,调用js也有个函数,就是非常方便调试。
最关键的一步就是调用
conext.evaluateString(scope,&n ......
1.计算某一月份的最大天数
Calendar time=Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,year); //year 为 int
time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0
int day=time.getActualMaximum(Calendar.DAY_OF_MON ......
apache:
如果采用RPM包安装,安装路径应在 /etc/httpd目录下
apache配置文件:/etc/httpd/conf/httpd.conf
Apache模块路径:/usr/sbin/apachectl
web目录:/var/www/html
如果采用源代码安装,一般默认安装在/usr/local/apache2目录下
php:
如果采用RPM包安装,安装路径应在 /etc/目录下
php的配置文件:/etc/php.ini
......