**php语法(一)
谈谈html语法》一文,我已经介绍了基本的html语法。可以编出一个静态的web页,可动态交互信息是很重要的。如一些**的会员制的会员注册、登录都需后端程序的运行。
很多**所用的cgi程序主要用perl、asp、j**a、php编写,而我们所要用的就是php。它是完全免费的,这就要感谢那些默默无闻的编程人员了。
php的结构类似于c语言,这可是应证了c语言里提的“一处学习,到处编程”。相信学过c语言的人可很容易上手php的。还是先介绍一些php语法吧。本文适合初学者学习。
php与c语言也有一些差别,或者说在某种程度上可能比c语言更为灵活。在c语言中,变量要先定义,才能使用。而php中变量则不需事先定义,直接使用即可。
对于变量的类型,在赋值时自动生成。php变量的类型分为:整数(int)、双精度型(double)、字符串(string)、数组(array)、对象(object)。
整数大小超出其范围后,自动转化为双精度型,其值范围如下表:
声明类型│长度(位)│长度(字节)│值的范围│
int│322147483647~2147483647│
double│321.7e-308~1.7e+308│
字符串,通常用""(双引号)表示。也可用''(单引号)表示,如下:
a="abc";$b="abc$a";$c='abc$a';$d="\cde\""e='"cde"';
php中的各种变量均在变量名前加上“$”以示区别。
注意,$b的内容为abcabc,$c的内容为abc$a,$d的内容为"cde",$e的内容也为"cde"。可以看出,双引号中的内容中的变量名会被替代崐,而单引号中的则不会。双引号中的内容需转义,如$应用$表示,而单引号中的则不用。
php中的数组语法为:数组名[索引]
索引可为数字,也可为文字。但不建议使用文字,因为意义不大。对于数组也比其它语言灵活如下例:$names=100;$names=200;
names=hi,how are you";$names=98.5;
names=1.7e+23;$num=count($names);for ($i=0;$i<=$num;$i++)
可看出,一个数组中的元素不一定为同一类型,这就是php数组的“活”处。
使用对象,可使编程者更易于维护,也使程序更为易读。较其它语言,php可简单多了,它只有类别(class)、方法(method)、属性(attrib)及扩展(extendsions)等。
前文谈的只是php的数据类型,所谓“磨刀不误砍柴功”,打好php基础才能更好地学好php编程。php中的表达式与运算符与c语言的差别不大,现将其列表于下符号│运算符│范例│
加法│$a+$b│
减法│$a-$b│
乘法│$a*$b│
除法│$a/$b│
取余数│$a%$b│
递增│$a++或++$a│
递减│$a--或--$a│
等于│$a==10│
绝等于│$a===10│
不等于│$a!=10│
│小于│$a<9│
│大于│$a>8│
=│小于等于│$a<=10│
=│大于等于│$a>=1│
相等赋值运算符│$a=0│
加法指定运算符│$a+=5│
减法指定运算符│$a-=1│
乘法指定运算符│$a*=2│
除法指定运算符│$a/=5│
余数指定运算符│$a%=7│
字符串指定运算符│$a.="hello"│
与│$a&$b│
或│$a|$b│
xor│$a^$b│
非│~$a(取1的补码)│
<│向左移位│$a<<$b│
>│向右移位│$a>>$b│
and或&&│与│$a and $b或$a&&$b│
or或||│或│$a or $b或$a||$b│
xor│xor│$a xor $b│
非│!$a│
符号│意义说明│
变量│变量的指针(加在变量前》│对象的方法或属性│
│数组的元素值│
? :三元运算符│
同c语言的比较一下吧。其中只是多了个“.”这一个运算符。它的作用是使两个字符串相连,如下例,显示结果为hello,my baby.
还有一个符号也使php的功能强大了。这就是“$”它是用于变量之前的,表示这是个变量,如$a,$b等。那它的作用又强在哪呢?这就是变量的变量。如下例:
显示结果为:goherehere
其实,在一个变量前加一个“$”就是把这个变量的内容作为了一个新的变量名。这是php所特有的,有时可使程序简单化。
**php语法(二)
上一文《谈谈php语法》已谈了php的数据类型和表达式。现在,让我们来看看php的变量与常数。让我们先看一例吧。
文件://这是一种单行注释方法#这是另一种单行注释方法/*这是一种多行注释的方法以下让我们看看例了吧*/funtion display($file,$line)
message="这是一个例程。";
display(_file_,_line_);
显示结果为:
这是一个例程。
上例中,function是定义一个自定义函数。其后的两个变量$file和$line是两个局域变量,它们只在函数体中起作用,与函数体外的变崐量互不干扰,如果在函数体外还有$file或$line的话,两个$file和两个$line的值是不一定会相同的。_file_和_line_是两个常量,它们的崐值是早已定好了的。
_file_为本文件的文件名,_line_为执行行所在的行号。在函数体内还有一句为global $message;它的作用是使全崐局变量$message能作用到函数体中,这句还可写成$global["message"];
对于get、post和cookie等机制产生的信息,php会自动地将其视为php的变量。这样,使提交表单的信息处理显地是格外的轻松。如下:文件:
echo "你的用户名为:$uname";?
以上程序会要求用户输入一个用户名,提交表单后,后回用户名确认信息。可看出,表单中的uname已成为了程序中的$uname变崐量。简单吧。:
-下面看看php的基本流程控制:if…else…elseif语法一:if (条件) 语法二:
if (条件) else
语法三:if (条件1) else
我们把上面的程序改为:if ($uname=="小明") elseif ($uname=="小华")else?>
除了if语句外,还有while循环,它的语法如下:while(条件)
当条件为true时,执行语句体。do…while的语法如下:do while(条件)
先执行一次语句体,若条件为true,则循环再次执行语句体。for循环的语法同c一样,如下:
for (条件初始;判断条件;条件改变)
而break跳出正在执行的循环,continue为中断本次循环。好了,本文就到这吧。以上的一些基础相信您很快便能上手了的。
**php语法(三)
上文中曾提到了php提交表单信息是很方便的。可是,提交的表单信息中的变量的生命周期是多长呢?本文就来崐谈谈这个问题。
表单的参数会传给下一个处理程序,这是不用置疑的。因为,我们曾有过这样的例子。可它还会继续传给下一个处理程序吗?
答案是否定的!一个form表单所提交的参数只传给第一个处理程序,而下一个处理程序中它是不会起作用的。来看看下例吧:
文件:文件:echo ""
echo "你喜欢$start,对吗?
echo "试试是否会再传下去";echo ""
文件:echo ""echo "你说$start好吗?";echo ""
从上例中,我们可以看见:处理的结果为(假定我们在中输入的是“张学友”):
你喜欢张学友,对吗?试试是否会再传下去。
说明表单提交了变量$start给而在的显示结果中,若我们点击了链接“试试是否会再传下去”之后,崐p的处理结果为:
你说好吗?很明显,$start没有传给但是,我们又怎样延长$start的生命周期呢?其实,这很简单,使用参数传递的方法就行了。如崐下,我们可以把改成这样:echo ""
echo "你喜欢$start,对吗?
echo "试试是否会再传下去";echo ""
分晰程序,你会发现只是在后加了一句“?start=$start”就行了,而这起的作用就是参数传递。
如:崐其?后的为参数,no为参数名,其值为1。这样,会在程序中产生变量$no,其值为1。若传两个以上崐参数,其间用&分隔。如:
为了延长参数的生命周期,我们还可以使用cookie或session来实现,这里不加多述,在以后的文章中你会见到它们的用法。
**php语法(四)
上文(《**php语法(三)》)的最后提到了cookie和session,本文就这两种技术作一些介绍。cookie我们都常把它念成“库记”,也叫它“小甜点”。它是一种存储在客户浏览器中的一个小文件。
它是为解决http的一次连接而无崐记忆而发展起来的,可用来追踪使用者或是对重返的使用者进行确认。php对此提供了setcookie()函数,可以设定cookie。因为cookies算是崐http标头的一部分。
所以,setcookie()函数必须在网页数据传给浏览器之前调用。这同调用header()函数是一样的。
cookie必须由主机端提供;所以,我们必须在cgi程序中送出一个设定了cookie的标头。如下是php中调用setcookie()函数设定cookie的崐例子:setcookie("user","wind",time()+3600,"/php/",
其中,user为该cookie的名称;wind为该cookie的值;time()+3600为该cookie的有效时间;/php/为该cookie的相关路径;http://www.崐为该cookie的**。
其实,我们除了使用这种方式设定cookie外,还可使用header()函数如:header("set-cookie:user=wind"),不过这要对http的头部信崐息有所了解才行,所以笔者不建议使用这种方式,还是使用setcookie()方便些。
读取cookie时,浏览器在连接某个**时,会自动先检查是否有该站的cookie,有的话将会自动传给服务器,而在php中,会将传回的co崐okie作为一个变量。如上面所设的cookie返回后,会形成一个$user变量,其值为wind。
但是,cookie有个致命的缺点,就是若客户关了cookie接收,无法向客户端存放cookie时,一切操作就会出错。因此,在php4中提供了s崐ession来代替cookie。
session与cookie的最大区别在于cookie将信息存于客户端,而session则是存于服务器端。其实,session是对php脚本提供了一个全局崐变量。例子如下:
设置一个session,名为user,值为windsession_start();user="wind";
session_register("user");
读session,显示结果为“欢迎你!wind”?br> ?
本文只是**了一下cookie和session技术,对于想具体了解该技术的人,还请参考别的书藉。
网上发送email,可要用到mail()函数了。其格式如下:
mail(收信人,主题,内容,邮件文件头);
在网上,发送email给站长,通常是这样的:
这样,当点击了这个链接之后,就会启动默认的邮件编缉器来写email,实在是麻烦,使用mail()函数,便可方便地编出一个**发信页面。这种页面的收件人是固定的(有需再填收件人地址了,而主题我们也可以将把它定下来。如下例:
文件:文件:if(empty($from)orempty($subject)orempty($content))$body="[主题] $subjectn";$body.
="发件人] $fromn";$body.=$content;
deal=mail(""subject,$body,"from:$from");if ($deal) else?>
php介绍到此,也差不多了,你是不是感到了php的强大,是不是也想加入php的行列,就现在吧。要使自己在php中飞翔,这点知识还是崐不足的,它只能帮你入门而已。入门之后,就修行在个人了。
我的朋友,再见──(
全文完》
php语法总结
开头与结尾 定义变量以 开头例如 var name hello world 中以echo或者print输出 4.字符串连接符 例如 txt1 hello world txt2 1234 echo txt1txt2 输出结果 hello world 1234 函数计算字符串的长度 函数 在字符串内检索...
PHP基本语法
上机二 php基本语法。上机要求 1 了解php注释,输出语句的基本格式。2 熟悉php变量,常见数据类型,运算符的简单使用。3 掌握条件和循环语句的使用。4 能独立编写简单功能 上机内容 1 请思考下面程序的运行结果,稍后在easyeclipse中调试验证你的答案是否正确?a 5 b 3 echo...
PHP基本语法
您无法在浏览器中通过查看源文档的方式来查看 php 的源 您只能看到 php 文件的输出,即纯粹的 html。这是因为在结果返回浏览器之前,脚本就已经在服务器执行了。php标记 在之前的的例子中的php 是以 为结束,这类似于所有的html标记,因为它们都是以小于号为开始,以大于号为结束的。这些符号...