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项目的结构图,其中各文件的代码如下: ......
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 ......
首先在Linux上创建一个共享文件夹
mkdir /home/user/share
用root用户启动samba服务
service smb start
修改smb.conf文件
sudo gedit /etc/samba/smb.conf 或者 vi /etc/samba/smb.conf
[share]
path = /home/user/share
...
writable = yes
创建共享用户并设置密码
sudo useradd smbusr
sudo smbpasswd -a s ......
任务:根据输入的域名 统计以下三个数据,第一:全球排名;第二:用户量(月平均值);第三:
人均页面访问量(月平均值)。
思路:使用get_file_contents提取出网页内容,再根据正则表达式进行内容的筛选。
核心函数如下:
<?php
/*
the function of getting aleax data
@param string partten  ......
#
启动服务的用户和组
user
lighttpd lighttpd;
#
开多少进程
worker_processes
2;
#
错误日志
error_log
/data/log/nginx/nginx_error/nginx_error.log crit;
#
pid
pid
/var/run/nginx.pid;
#
Specifies
the value for maximum file descriptors t ......