《谈谈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所特有的,有时可使程序简单化。
--(待续)--