当前位置: 网站制作软件教程 >> >> PHP教程:新手上路(三)
PHP教程:新手上路(三)

2008-02-20 10:02:35  作者:  来源:互联网  浏览次数:11  文字大小:【】【】【
 

网站制作软件教程:数据类型

  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();  

责任编辑:王眉

打印本文  发表评论  推荐本文  返回顶部  加入收藏  关闭窗口

相关文章