分享
 
 
 

浅谈PHP语法(一)

王朝php·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

《谈谈HTML语法》一文,我已经介绍了基本的HTML语法。可以编出一个静态的Web页,可动态交互信息是很重要的。如一些网站的会员制的会员注册、登录都需后端程序的运行。很多网站所用的CGI程序主要用Perl、ASP、Java、PHP编写,而我们所要用的就是PHP。它是完全免费的,这就要感谢那些默默无闻的编程人员了。

PHP的结构类似于C语言,这可是应证了C语言里提的“一处学习,到处编程”。相信学过C语言的人可很容易上手PHP的。还是先介绍一些PHP语法吧。本文适合初学者学习。

PHP与C语言也有一些差别,或者说在某种程度上可能比C语言更为灵活。在C语言中,变量要先定义,才能使用。而PHP中变量则不需事先定义,直接使用即可。对于变量的类型,在赋值时自动生成。PHP变量的类型分为:整数(int)、双精度型(double)、字符串(string)、数组(array)、对象(object)。

整数大小超出其范围后,自动转化为双精度型,其值范围如下表:

┌─────┬─────┬──────┬────────────┐

│ 声明类型 │长度(位)│长度(字节)│ 值的范围 │

├─────┼─────┼──────┼────────────┤

│ int │ 32 │ 4 │-2147483647~2147483647 │

├─────┼─────┼──────┼────────────┤

│ double │ 32 │ 4 │ 1.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中的数组语法为:

数组名[索引]

索引可为数字,也可为文字。但不建议使用文字,因为意义不大。对于数组也比其它语言灵活如下例:

<?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++){

echo "$names[$i]<br>";

}

?>

可看出,一个数组中的元素不一定为同一类型,这就是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="hello,";

$b="my baby.";

echo $a.$b;

?>

还有一个符号也使PHP的功能强大了。这就是“$”。它是用于变量之前的,表示这是个变量,如$A,$b等。那它的作用又强在哪呢?这就是变量的变量。

如下例:

<?php

$a="go";

$$a="here";

echo $a;

echo $$a;

echo $go;

?>

显示结果为:

go

here

here

其实,在一个变量前加一个“$”,就是把这个变量的内容作为了一个新的变量名。这是PHP所特有的,有时可使程序简单化。

现在,让我们来看看PHP的变量与常数。

让我们先看一例吧。

文件:test.php

<?php

//这是一种单行注释方法

#这是另一种单行注释方法

/*这是一种多行注释的方法

以下让我们看看例了吧*/

funtion display($file,$line)

{

global $message;

echo "FILE:$file<br>";

echo "LINE:$line<br>";

echo "Message:$message<br>";

}

$message="这是一个例程。";

display(_FILE_,_LINE_);

?>

显示结果为:

text.php

15

这是一个例程

上例中,function 是定义一个自定义函数。其后的两个变量$file和$line是两个局域变量,它们只在函数体中起作用,与函数体外的变崐量互不干扰,如果在函数体外还有$file或$line的话,两个$file和两个$line的值是不一定会相同的。_FILE_和_LINE_是两个常量,它们的崐值是早已定好了的。_FILE_为本文件的文件名,_LINE_为执行行所在的行号。在函数体内还有一句为 global $message; 它的作用是使全崐局变量$message能作用到函数体中,这句还可写成$GLOBAL["message"];

对于GET、POST和Cookie等机制产生的信息,PHP会自动地将其视为PHP的变量。这样,使提交表单的信息处理显地是格外的轻松。如下:

文件:

form.html

<html><head><title></title></head>

<body>

<form action="deal.php">

用户名:<input type="text" name="uname" size=20><br>

<input type="submit" value="OK">

</form>

</body>

</html>

<?php

echo "你的用户名为:$uname";

?>

以上程序会要求用户输入一个用户名,提交表单后,后回用户名确认信息。可看出,表单中的uname已成为了deal.php程序中的$uname变崐量。简单吧。:-)

下面看看PHP的基本流程控制:

if…else…Elseif

语法一:

if (条件) {

语句体

}

语法二:

if (条件) {

语句体一

}else{

语句体二

}

语法三:

if (条件1) {

语句体一

}elseif(条件2) {

语句体二

}else{

语句体三

}

我们把上面的deal.php程序改为:

<?php

if ($uname=="小明") {

echo "见到你真高兴,小明。";

}elseif ($uname=="小华"){

echo "喔,是小华呀。";

}else{

echo "你是$uname,对吧";

}

?>

除了if 语句外,还有while循环,它的语法如下:

while(条件){

语句体

}

当条件为true时,执行语句体。

do…while的语法如下:

do {

语句体

}while(条件)

先执行一次语句体,若条件为true,则循环再次执行语句体。

for循环的语法同C一样,如下:

for (条件初始;判断条件;条件改变) { 语句}

而break 跳出正在执行的循环,continue 为中断本次循环。

好了,本文就到这吧。以上的一些基础相信您很快便能上手了的。

--(待续)--

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有