|
网站制作软件教程:数据类型
PHP支持整数、浮点数、字符串、数组和对象。变量类型通常不由程序员决定而由PHP运行过程决定(真是好的解脱!)。当然,如果你喜欢的话,你也可以使用CAST或者函数SETTYPE()将某种类型的变量转换成指定的类型。
数值
数值类型可以是整数或是浮点数。你可以用以下的语句来为一个数值赋值: $A = 1234; # 十进制数 $A = -123; # 负数 $A = 0123; # 八进制数 (等于十进制数的83) $A = 0X12; # 十六进制数(等于十进制数的18) $A = 1.234; # 浮点数"双精度数" $A = 1.2E3; # 双精度数的指数形式
字符串
字符串可以由单引号或双引号引出的字段定义。注意不同的是被单引号引出的字符串是以字面定义的,而双引号引出的字符串可以被扩展。而且,在双引号字符串中可以使用反斜杠()在字符串中加入转义序列和转换字符。举例如下:
$FIRST = HELLO; $SECOND = "WORLD"; $FULL1 = "$FIRST $SECOND"; # 产生 HELLO WORLD $FULL2 = $FIRST $SECOND;# 产生 $FIRST $SECOND $FULL3="01DC STUDIO,." 2000 COPYRIGHT." " ;
请注意最后一行,如果需要在字符串中使用双引号,可以使用反斜杠字符,象该行语句所示。这里的的反斜杠用来使双引号的功能改变。
可以将字符和数字利用运算符号连接起来。字符被转化成数字,利用其最初位置。在PHP手册中有详细的例子。
数组与哈希表
数组与哈希表以同样的方法被支持。怎样运用取决于你怎样定义它们。你可以用LIST()或者ARRAY()来定义它们,也可以直接为数组赋值。数组的索引从0开始。虽然我在这里没有说明,但是你一样可以轻易的使用多维数组。
// 一个包含两个元素的数组 $A[0] = "FIRST"; $A[1] = "SECOND"; $A[] = "THIRD"; // 添加数组元素的简单方法 // 现在$A[2]被赋值为"THIRD" ECHO COUNT($A); // 打印出3,因为该数组有3个元素 // 用一个语句定义一个数组并赋值 $MYPHONEBOOK = ARRAY ( "SBABU" => "5348", "KEITH" => "4829", "CAROLE" => "4533" ); // 噢,忘了教长吧,让我们添加一个元素 $MYPHONEBOOK["DEAN"] = "5397"; // 你定义的CARALE元素错了,让我们更正它 $MYPHONEBOOK["CAROLE"] => "4522" // 我还没有告诉你怎样使用数组的相似支持方式吗?让我们看一看 ECHO "$MYPHONEBOOK[0]"; // SBABU ECHO "$MYPHONEBOOK[1]"; // 5348
其他一些对数组或哈希表有用的函数包括SORT(),NEXT(),PREV()和EACH()。
对象
使用NEW语句产生一个对象: CLASS FOO { FUNCTION DO_FOO () { ECHO "DOING FOO."; } } $BAR = NEW FOO; $BAR->DO_FOO();
改变变量类型
在PHP手册中提到:"PHP不支持(也不需要)直接在声明变量时定义变量类型;变量类型将根据其被应用的情况决定。如果你为变量VAR赋值为一个字符串,那么它变成了一个字符串。如果你又为它赋了整数值,那么它就变成了整数。"
$FOO = "0"; // $FOO是字符串(ASCII 48) $FOO++; // $FOO是字符串"1" (ASCII 49) $FOO += 1; // $FOO现在是整数(2) $FOO = $FOO + 1.3; // $FOO是一个双精度数(3.3) $FOO = 5 + "10 LITTLE PIGGIES"; // $FOO是一个整数(15) $FOO = 5 + "10 SMALL PIGS"; // $FOO是一个整数(15)
如果想要强行转换变量类型,可以使用与C语言相同的函数SETTYPE()。
网站制作软件教程: 变量与常量
可能你已经注意到,变量都有一个美元符号($)的前缀。所有变量都是局部变量,为了使得定义的函数中可以使用外部变量,使用GLOBAL语句。而你要将该变量的作用范围限制在该函数之内,使用STATIC语句。 $G_VAR = 1 ; // 全局范围 FUNCTION TEST() { GLOBAL $G_VAR; // 这样就可以声明全局变量了 }
更先进一些的是变量的变量表示。请参考PHP手册。这在有时会显得很有用。
PHP内置了许多已定义的变量。你也可以用DEFINE函数定义你自己的常量,比如DEFINE("CONSTANT","VALUE")。
网站制作软件教程: 运算符
PHP具有C,C++和JAVA中的通常见到的运算符。这些运算符的优先权也是一致的。赋值同样使用"="。
算术和字符
以下只有一种运算符是有关字符的: $A + $B :加 $A - $B :减 $A * $B :乘 $A / $B :除 $A % $B :取模(余数) $A . $B :字符串连接
逻辑和比较
逻辑运算符有: $A || $B :或 $A OR $B :或 $A && $B :与 $A AND $B :与 $A XOR $B :异或 (当$A或$B为TRUE时为TRUE,两者一样时为FALSE) ! $A :非 比较运算符有: $A == $B :相等 $A != $B :不等 $A < $B :小于 $A <= $B :小于等于 $A > $B :大于 $A >= $B :大于等于 与C一样PHP也有三重运算符(:)。位操作符在PHP同样存在。
优先权
就和C以及JAVA一样!
网站制作软件教程:控制流程结构
PHP有着与C一样的流程控制。我将在下面大概介绍。
IF, ELSE, ELSEIF, IF(): ENDIF
IF (表达式一) { . . . } ELSEIF (表达式二) { . . . } ELSE { . . . } // 或者像PYTHON一样 IF (表达式一) : . . . . . . ELSEIF (表达式二) : . . . ELSE : . . . ENDIF ;
LOOPS. WHILE, DO..WHILE, FOR
WHILE (表达式) { . . . } DO { . . . } WHILE (表达式); FOR (表达式一; 表达式二; 表达式三) { . . . } //或者像PYTHON一样 WHILE (EXPR) : . . . ENDWHILE ;
SWITCH
SWITCH是对多重IF-ELSEIF-ELSE结构的最好的替换: SWITCH ($I) { CASE 0: PRINT "I EQUALS 0"; CASE 1: PRINT "I EQUALS 1"; CASE 2: PRINT "I EQUALS 2"; }
BREAK, CONTINUE
BREAK中断当前的循环控制结构。 CONTINUE被用来跳出剩下的当前循环并继续执行下一次循环。
REQUIRE, INCLUDE
就像C中的#INCLUDE预处理一样。你在REQUIRE中指定的那个文件将替代其在主文件中的位置。在有条件的引用文件时,可以使用INCLUDE()。这样就使得你可以将复杂的PHP文件分割成多个文件并且在不同需要时分别引用它们。
网站制作软件教程: 函数
你可以像以下的例子一样定义自己的函数。函数的返回值可以是任何数据类型: FUNCTION FOO (变量名一, 变量名二, . . . , 变量名N) { ECHO "EXAMPLE FUNCTION.N"; RETURN $RETVAL; }
所有PHP代码都可以出现在函数定义中,甚至包括对其他函数和类的定义。函数必须在引用之前定义。
网站制作软件教程:类
利用类模型建立类。可以参考PHP手册中对类的详细解释。 CLASS EMPLOYEE { VAR $EMPNO; // 员工人数 VAR $EMPNM; // 员工姓名
FUNCTION ADD_EMPLOYEE($IN_NUM, $IN_NAME) { $THIS->EMPNO = $IN_NUM; $THIS->EMPNM = $IN_NAME; }
FUNCTION SHOW() { ECHO "$THIS->EMPNO, $THIS->EMPNM"; RETURN; }
FUNCTION CHANGENM($IN_NAME) { $THIS->EMPNM = $IN_NAME; } }
$SBABU = NEW EMPLOYEE; $SBABU->ADD_EMPLOYEE(10,"SBABU"); $SBABU->CHANGENM("BABU"); $SBABU->SHOW(); |