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";
&nb ......
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";
&nb ......
Apache 版本: 2.2
PHP 版本:5.2.11
Eclipse下载地址:http://downloads.zend.com/pdt/all-in-one/zend-eclipse-php-galileo-SR1-win32-x86.zip
解压后运行Eclipse.exe
选择工作空间
我选择了E:\PHPworkspace
这时要插入一步
打开Apache的配置文件httpd.conf
查找”DocumentRoot“
修改documentroot的值
DocumentRoot "E:/PHPworkspace"
建立PHP项目
命名为"DebugPHP"
创建一个PHP文件:“debug.php”
写入代码如下:
<HTML>
<BODY>
<H1>Debug Demo</H1>
<table border="1" width="700">
<tr bgcolor="red">
<th>Name</th>
<th>Address</th>
<th>Phone</th>
</tr>
<?php
$db = array(
array ("John", "E 10th St., NYC, NY 23742", "(212) 555-4456"),
array ("Francois", "12 Bd. de Grenelle, Paris, 74897","(33) 433-544"),
array ("Klaus", "312 Beethoven St., Frankfurt, Germany", " ......
项目结构如上
创建counter.txt文件
创建counter1.php文件
初始化counter.txt文件中的内容
输入“0”
counter1.php文件代码
<?php
$fp = fopen("counter.txt","r");
if ($str1==false){
$str1 = 0;
}
$str1 = fgets($fp,10);
$str1++;
fclose($fp);
$fp = fopen("counter.txt","w");
fputs($fp,$str1);
fclose($fp);
$len1 = strlen($str1);
$str2 = "00000000";
$len2 = strlen($str1);
$dif = $len2 - $len1;
$rest = substr($str2,0,$dif);
$string = $rest.$str1;
echo("您是第 $string 个访问者!!");
?>
比较简单的代码
实现刷新计数的功能
主要练习php的基本语法使用
这是第一个版本
刚刚配置好eclipse
练练手 ......
本从用的是Zend Debugger
在调试counter1.php的时候出现了乱码错误
找到了问题的原因
zend debugger默认的编码为utf-8
而php的默认编码方式为gbk
当初配置php开发环境是为了部署discuz论坛
所以就设置成了gbk
这便是原因了
统一一下
都用utf-8
window-preferences-general-workspace
text-file-encoding: utf-8
打开php.ini
修改"default_charset "的值为"utf-8"
OK ......
<?php
/*****************
名称:validator For PHP v1.0.0
日期:2006-12-7
作者:西楼冷月
网址:www.xilou.net | www.chinaCMS.org
描述:数据检验类,用在表单验证上
规则:无
*****************/
/*php自身的检测函数
*bool is_numeric ( mixed var)
*bool is_bool ( mixed var)
*bool is_null ( mixed var)
*bool is_float ( mixed var)
*bool is_int ( mixed var)
*bool is_string ( mixed var)
*bool is_object ( mixed var)
*bool is_array ( mixed var)
*bool is_scalar ( mixed var)
*string gettype ( mixed var)
*/
/*新添加的检测函数
isDate() 日期检查
isTime() 时间检查
isInt() 整数检查
isNum() 数字检查
isEmail() 邮件检查
isUrl() url检查
isPost() 邮政编码检查
isPhone() 电话号码检查
isMobile() 移动电话检查
isLen() 长度检查
isIdCard() ......
我在上一篇文章中讲到使用javascript做集成表单验证的方法,对于客户端验证已经足够,但好的表单验证应同时在客户端和服务器端进行——这正是写本文的目的。
如果采用一般的验证方法应该怎样写呢?
if ($_POST['some'] 不满足 condition) {
die("wrong");
}
类似于javascript的集成验证方法,在PHP中也可利用数组和eval语句实现表单验证(服务器端)框架。一般步骤:
1、将用户提交的数据从$_GET或$_POST数组收集到自定义数组(可选),
2、填充验证数组(包括变量名、条件及提示等),
3、添加固定的验证代码。
下面我来举例说明,假设你要从网页中收集用户姓名及年龄,并且在服务器端实现数据验证,那么你可能需要form.html和act.php。form.html中包含表单:
<form method=post action=act.php>
姓名:<input type=text name= ......