|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于PHP的语法结构,刚开始真的很不习惯,真搞不懂为什么每个变量之前都要加个“$”符号,每个语句写完之后都必须加上“分号”来表示此句已经结束,还有,PHP对字母的大小写是敏感的,写的时候一定要注意大小写的区别。 3、 处置惯例表达式
咱们略微讲讲用ereg()和eregi()两个函数处置惯例表达式。后面我已提过,这些函数有的很复杂,有的很庞杂,看您的实践需求而定。
利用惯例表达式,您可以对一个字符串停止反省,搜刮个中的一些布局形式,剖断这些形式是不是知足您的划定。最广泛的用法包含反省电子邮件地址是不是无效(固然,即便这类举措剖断无效,也不克不及包管邮件地址真的存在)。
咱们在这里不细究惯例表达式的庞杂细节了,仅仅给出几个实例。您可使用上一页顶用过的表格 - 把响应的法式代码复制过去,添加到上面的代码段中,就能够看到它是如何任务的。
起首,咱们要确保表格中各栏只能输出字母。上面的惯例表达式在用户输出一个或多个小写字母时剖断为真,而输出数字是不答应的:if (!ereg("[a-Z]", $first) || !ereg("[a-Z]", $last)) { 如今咱们更进一步,反省字符串的长度是不是是四到六位字符长。用[[:alpha:]]是反省字符是否是字母的复杂体例。大括号内的数字反省字符个数。还要申明的是,^ 和 $ 分离代表字符串的入手下手和停止。if (!ereg("^[[:alpha:]]{4,6}$", $first) || !ereg("^[[:alpha:]]{4,6}$", $last)) { 最初,咱们来机关一个惯例表达式,来查验电子邮件地址的无效性。这类查验体例的后果已激发了相当多的会商。没有甚么器材是浑然一体的,不外我上面给出的这段法式仍是非常见效的。
if (!ereg(^[-!#$%&\*+\\./0-9=?A-Z^_`a-z{|}~]+.
@.
[-!#$%&\*+\\/0-9=?A-Z^_`a-z{|}~]+\..
[-!#$%&\*+\\./0-9=?A-Z^_`a-z{|}~]+$, $last)) { 别花太多工夫来细究这段代码了,仍是先到下一页内容吧。
4、 简捷办法
后面的惯例表达式怎样?很成心思,是吧?如果在每一个需求反省电子邮件地址的法式里都写上这么一段法式,那才真叫成心思呢?!想一想看吧,得写那末七零八落的一段法式,还得写上那末多遍!...不外,固然了,还有更简捷的办法。
还记得后面? 学过的头文件吗?它能让咱们写一段法式,象是这个电子邮件地址的反省法式,然后把这段法式包括进多个法式外面去。如许,咱们要改写这段法式时,只须修改一处就好了,不必修正多个文件。
然而,要做到这一点,咱们必需用到函数。
咱们已用过良多次函数了。每次咱们查询数据库或反省字符串长度时,咱们都是用函数来做的。这些函数是PHP自带的。假如您是位热情的法式员,您可以用本人编写的函数来扩大PHP自己的功效。但对本教程而言,这局部内容是太甚深邃了一点。咱们要创立的函数不是那一种,而是写在PHP剧本法式外部的函数。
函数就是一段法式代码,咱们可以把一个或多个值传给这段代码,然后这段代码会处置咱们传给它的数据并前往一个值。依据实践需求,函数可以很复杂,也能够非常庞杂。然而只需咱们传出来一个数,然后能失掉一个数,您管它外面有是庞杂仍是复杂呢!这就是函数的心爱的地方。
PHP里的函数与C言语里的函数体现差不多。当咱们界说函数时,必需指明函数需求吸收甚么样的数据。一入手下手好象不太好了解为何它要吸收数据出来,不外如许可以避免产生一些奇异的成绩。函数之所以能做到这一点,是由于函数外面的变量都是公有变量,也就是说,它只在该函数外部存在。例如,您在法式中有一个变量叫$myname,假如您创立了一个函数,想让这个函数也利用谁人$myname变量(值也不异),那是不可的。您可以在函数外部创立一个变量,名字也叫$myname,这两个变量可以各平相处,而各自取分歧的值。不外我可不建议您这么做!您假如真的这么做了,等半年后您再来修正如许的法式时,您能够就会被弄懵懂了。
那咱们如今就来创立一个函数,先来个复杂的。咱们要给它取个名字,指定它要吸收甚么的变量。在挪用这个函数之前,咱们还得界说这个函数。
$#@60;html$#@62;
$#@60;body$#@62;
$#@60;?php
function addnum($first, $second) {
$newnum = $first + $second;
return $newnum;
}
echo addnum(4,5);
?$#@62;
$#@60;/body$#@62;
$#@60;/html$#@62;
这就好了!起首,咱们创立了第一个本人的函数。咱们界说了两个新变量,$first和$second,注重它们是如何被界说的。在挪用这个函数时,要给这两个变量按它们呈现的按次赋好值 - 4赋给$first,5赋给$second。然后咱们复杂地把这两个数加在一同,前往了局。“前往”在这里的意思是把了局送归去。在法式最初局部咱们把数字9显示出来。
咱们再来创立一个函数,让它对咱们的数据库使用有点匡助。一个能妥帖处置毛病的函数怎样?尝尝上面的法式:
$#@60;html$#@62;
$#@60;body$#@62;
$#@60;?php
function do_error($error) {
echo "噢,好象有点儿成绩...$#@60;br$#@62;";
echo "体系呈报的毛病是:$error.\n$#@60;br$#@62;";
echo "最好是临时封闭网站并告诉体系办理员。";
die;
}
if (!$db = @mysql_connect("localhost","user", "password")) {
$db_error = "没法毗连到MySQL数据库";
do_error($db_error);
}
?$#@62;
$#@60;/body$#@62;
$#@60;/html$#@62; 在运转法式之前,尝尝封闭MySQL数据库,或利用毛病的用户名或口令。您会看到友爱的、有效的毛病信息 。仔细的伴侣会注重到在mysql_connect()函数之前的谁人@符号。它会克制体系毛病信息,使得法式只能从do_error()函数那边失掉有关的毛病信息。您还会注重到,咱们可以把一个在别处界说的变量作为参数传给函数,而不是在挪用时直接赋一个值。
还记得我过函数利用的是公有变量吧?这话说得不完整对。现实上,您可让函数会见到函数里面的变量。您能够要写一个函数,用它来查询数据库,然后把了局显示在多个网页中。您不想每次都把数据库毗连标识都传给函数。在这类情形下,您可以把毗连标识界说成一个全局的变量。例如:
$#@60;html$#@62;
$#@60;body$#@62;
$#@60;?php
function db_query($sql) {
global $db;
$result = mysql_query($sql,$db);
return $result;
}
$sql = "SELECT * FROM mytable";
$result = db_query($sql);
?$#@62;
$#@60;/body$#@62;
$#@60;/html$#@62; 这是个很复杂的函数,但主要的是,您在挪用这个函数时,不用传递$db变量 - 您可以经由过程 global这个字使得函数可以会见到该变量。在这条语句中您可以界说多个全局变量,各个全局变量之间用逗号离隔。
最初,您可使用可选参数,如许看起来您已是真实的专家了。这外面关头的一点是,在函数中界说参数时要给它指定一个缺省值。然后您在挪用这个函数时,假如不为该参数变量指定其他值,那末函数会主动把缺省值赋给这个变量。假如您指定了其他值,那末缺省值就不起感化了。
不太分明?例如说,您在毗连数据库时,几近老是毗连到不异的办事器,而且利用不异的用户名和口令。不外有时分,您也需求毗连到其他的办事器。看看上面的法式:
$#@60;html$#@62;
$#@60;body$#@62;
$#@60;?php
function db_connect($host = "localhost", $user="username", $pass="graeme") {
$db = mysql_connect($host, $username, $password);
return $db;
}
$old_db = db_connect();
$new_host = "site.com";
$new_db = db_connect($new_host);
?$#@62;
$#@60;/body$#@62;
$#@60;/html$#@62;
很“酷”是否是?在界说函数时,函数外部用到的变量也界说好了。第一次挪用这个函数时,全体参数变量都是用的缺省值。第二次挪用时,办事器名变了,而用户名和口令没有变。真是太棒了!
想一想您在甚么中央还能用到函数。您可以用函数来作数据校验,来完成经常使用的功效,等等。在对Web网页上显示的文字作处置时,我用到了良多函数。我可以一次完成对文字的反省、解析和修正,来到场换行符和HTML标志等。
如今,剩下的就是我要给您的一些忠言了。
5、进阶技能
谈起数据库开辟,咱们有良多器材要学。假如您还没有进修过如何停止数据库设计,和如何在分歧的平台上牢靠地运转数据库,那末请您从速去找本这方面的好书来读一读。这方面的才能会带给您没法估计的优点,从久远的目光看,它会为您节俭大批的工夫与精神。还有,仔细学学MySQL。这是一个庞杂而风趣的数据库,有良多不错的文档。学学数据库的表布局、数据类型,还有SQL。假如您真正把握了SQL,您可以完成相当多的实践任务。
最初,还有PHP。您想要的一切几近都可以在PHP的网站上找到,包含周全的文档、邮件会商组的会商内容、法式代码库,等等。进修PHP的一个绝好的举措是研讨用户手册中给出的实例,并查阅网上的代码。网友们宣布的代码包含很多函数和类,您可以在本人的法式中直接利用,而不用本人从头来过。别的,假如您碰到成绩,邮件会商组是一个十分值得使用的资本。PHP的开辟人员本人也会列入邮件会商组,还有很多经历丰厚的高手们,他们都可以匡助您处理成绩。
祝您编程顺遂,一切顺遂!
算是1个熟悉的过程,所以c语言的基础有就更好,没有也不怕。 |
|