澳门新浦京8455com十天学会php(1)

澳门新浦京8455com,以前写了十天学会ASP,十天学会ASP.NET什么的,现在想想再写个PHP吧,也算比较全了。
PHP的调试方法我这里就不说了,外面很多文章都有介绍,也有很多不同的组合。我这里暂时是以
Apache web server 和 MY SQL
作为WEB服务器和数据库,在php-4.3.3下的环境做的程序。当然要简单的构建和访问查看数据库
PHPMYADMIN
不可少。至于表单设计什么的,我这里也不想多说了,在《十天学会ASP》中已经有介绍。下面简单介绍一下PHP的语法。1、嵌入方法:类似ASP的%,PHP可以是?php或者是?,结束符号是?,当然您也可以自己指定。2、引用文件:引用文件的方法有两种:require
及 include。require 的使用方法如 require(“MyRequireFile.php”);
。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入
require 所指定引入的文件,使它变成 PHP
程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。include
使用方法如 include(“MyIncludeFile.php”);
。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include
的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
3、注释方法:?php echo “这是第一种例子。/n” ; // 本例是 C++ 语法的注释
/* 本例采用多行的 注释方式 */ echo “这是第二种例子。/n” ; echo
“这是第三种例子。/n” ; # 本例使用 UNIX Shell 语法注释 ?
4、变量类型:$mystring = “我是字符串” ; $NewLine = “换行了/n” ; $int1 =
38 ; $float1 = 1.732 ; $float2 = 1.4E+2 ; $MyArray1 = array( “子” , “丑”
, “寅” , “卯” );
这里引出两个问题,首先PHP变量以$开头,第二PHP语句以;结尾,可能ASP程序员会不适应。这两个遗漏也是程序上大多错误所在。5、运算符号:
数学运算: 符号 意义 + 加法运算 – 减法运算 * 乘法运算 / 除法运算 %
取余数 ++ 累加 — 递减
字符串运算:运算符号只有一个,就是英文的句号。它可以将字符串连接起来,变成合并的新字符串。类似ASP中的&?$a
= “PHP 4” ; $b = “功能强大” ; echo $a.$b; ?
这里也引出两个问题,首先PHP中输出语句是echo,第二类似ASP中的%=变量%,PHP中也可以?=变量?。逻辑运算:符号
意义 小于 大于 = 小于或等于 = 大于或等于 == 等于 != 不等于 && 而且 (And)
and 而且 (And) 或者 (Or) or 或者 (Or) xor 异或 (Xor) ! 不 (Not)
今天就说到这里,明天说一下流程控制。第二天学习目的:掌握php的流程控制
1、if..else 循环有三种结构 第一种是只有用到 if
条件,当作单纯的判断。解释成 “若发生了某事则怎样处理”。语法如下: if
(expr) { statement } 其中的 expr
为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement
为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。
范例:本例省略大括号。 ?php if ($state==1)echo “哈哈” ; ?
这里特别注意的是,判断是否相等是==而不是=,ASP程序员可能常犯这个错误,=
是赋值。 范例:本例的执行部分有三行,不可省略大括号。 ?php if
($state==1) { echo “哈哈 ; echo “br” ; } ? 第两种是除了 if 之外,加上了
else 的条件,可解释成 “若发生了某事则怎样处理,否则该如何解决”。语法如下
if (expr) { statement1 } else { statement2 }
范例:上面的例子来修改成更完整的处理。其中的 else
由于只有一行执行的指令,因此不用加上大括号。 ?php if ($state==1) { echo
“哈哈” ; echo “br”;} else{echo “呵呵”;echo “br”; } ? 第三种就是递归的
if..else 循环,通常用在多种决策判断时。它将数个 if..else
拿来合并运用处理。 直接看下面的例子 ?php if ( $a $b ) { echo “a 比 b 大”
; } elseif ( $a == $b ) { echo “a 等于 b” ; } else { echo “a 比 b 小” ;
} ? 上例只用二层的 if..else 循环,用来比较 a 和 b
两个变量。实际要使用这种递归 if..else
循环时,请小心使用,因为太多层的循环容易使设计的逻辑出问题,或者少打了大括号等,都会造成程序出现莫名其妙的问题。
2、 for 循环就单纯只有一种,没有变化,它的语法如下 for (expr1; expr2;
expr3) { statement } 其中的 expr1 为条件的初始值。expr2
为判断的条件,通常都是用逻辑运算符号 (logical operators)
当判断的条件。expr3 为执行 statement
后要执行的部份,用来改变条件,供下次的循环判断,如加一..等等。而
statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。
下例是用 for 循环写的的例子。 ?php for ( $i = 1 ; $i = 10 ; $i ++) {
echo “这是第”.$i.”次循环br” ; } ? 3、 switch
循环,通常处理复合式的条件判断,每个子条件,都是 case
指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch
循环。语法如下 switch (expr) { case expr1: statement1; break; case
expr2: statement2; break; default: statementN; break; } 其中的 expr
条件,通常为变量名称。而 case 后的
exprN,通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break
跳离循环。 ?php switch ( date ( “D” )) { case “Mon” : echo “今天星期一”
; break; case “Tue” : echo “今天星期二” ; break; case “Wed” : echo
“今天星期三” ; break; case “Thu” : echo “今天星期四” ; break; case “Fri”
: echo “今天星期五” ; break; default: echo “今天放假” ; break; } ?
这里需要注意的是break;别遗漏了,default,省略是可以的。
很明显的,上述的例子用 if
循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
今天就说到这里,明天开始说数据库的使用。

操作符

操作符是用来对数组和变量进行某种操作运算的符号。

1、算术操作符

操作符

名称

示例

+

$a+$b

$a-$b

*

$a*$b

/

$a/$b

%

取余

$a%$b

2、复合赋值操作符

操作符

使用方法

等价于

+=

$a+=$b

$a=$a+$b

-=

$a-=$b

$a=$a-$b

*=

$a*=$b

$a=$a*$b

/=

$a/=$b

$a=$a/$b

%=

$a%=$b

$a=$a%$b

.=

$a.=$b

$a=$a.$b

前置递增递减和后置递增递减运算符:

$a=++$b;

$a=$b++;

$a=–$b;

$a=$b–;

3、比较运算符

操作符

名称

使用方法

= =

等于

$a= =$b

= = =

恒等

$a= = =$b

!=

不等

$a!=$b

!= =

不恒等

$a!= =$b

<>

不等

$a<>$b

<

小于

$a

>

大于

$a>$b

<=

小于等于

$a<=$b

>=

大于等于

$a>=$b

注:恒等表示只有两边操作数相等并且数据类型也相当才返回true;

例如:0= =”0″ 这个返回为true ,因为操作数相等

      0= = =”0″  这个返回为false,因为数据类型不同

4、逻辑运算符

操作符

使用方法

使用方法

说明

!

!$b

如果$b是false,则返回true;否则相反

&&

$a&&$b

如果$a和$b都是true,则结果为true;否则为false

||

$a||$b

如果$a和$b中有一个为true或者都为true时,其结果为true;否则为false

and

$a and $b

与&&相同,但其优先级较低

or

$a or $b

与||相同,但其优先级较低

操作符”and”和”or”比&&和||的优先级要低。

5、三元操作符

Condition ? value if true : value if false

示例:($grade>=50 ? “Passed” : “Failed”)

6、错误抑制操作符:

$a=@(57/0);

除数不能为0,会出错,所以加上@避免出现错误警告。

7、数组操作符

操作符

使用方法

使用方法

说明

+

联合

!$b

返回一个包含了$a和$b中所有元素的数组

= =

等价

$a&&$b

如果$a和$b具有相同的元素,返回true

= = =

恒等

$a||$b

如果$a和$b具有相同的元素以及相同的顺序,返回true

!=

非等价

$a and $b

如果$a和$b不是等价的,返回true

<>

非等价

 

如果$a和$b不是等价的,返回true

!= =

非恒等

$a or $b

如果$a和$b不是恒等的,返回true

操作符的优先级和结合性:

一般地说,操作符具有一组优先级,也就是执行他们的顺序。

操作符还具有结合性,也就是同一优先级的操作符的执行顺序。这种顺序通常有从左到右,从右到左或者不相关。

下面给出操作符优先级的表。最上面的操作符优先级最低,按着表的由上而下的顺序,优先级递增。

操作符优先级

结合性

操作符

Or

Xor

And

Print

= += -= *= /= .= %= &= |= ^= ~= <<= >>=

?:

||

&&

|

^

&

不相关

= =  != =  = = =  != =

不相关

<<= >>=

<>

+ – .

* / %

! ~ ++ — (int)(double)(string)(array)(object) @

[]

不相关

New

不相关

()

为了避免优先级混乱,可以使用括号避开优先级。

控制结构

如果我们希望有效地相应用户的输入,代码就需要具有判断能力。能够让程序进行判断的结构称为条件。

1、if..else循环有三种结构
第一种是只有用到if条件,当作单纯的判断。解释成“若发生了某事则怎样处理”。语法如下:
if (expr) { statement }
其中的expr为判断的条件,通常都是用逻辑运算符号当判断的条件。而statement为符合条件的执行部分程序,若程序只有一行,可以省略大括号
{}。
范例:本例省略大括号。
复制代码 代码如下:
if ($state==1)echo “哈哈” ;
?>

这里特别注意的是,判断是否相等是==而不是=,ASP程序员可能常犯这个错误,=是赋值。
范例:本例的执行部分有三行,不可省略大括号。
复制代码 代码如下:
if ($state==1) {
echo “哈哈 ;
echo “
” ;
}
?>

第二种是除了if之外,加上了else的条件,可解释成“若发生了某事则怎样处理,否则该如何解决”。语法如下:
if (expr) { statement1 } else { statement2 }
范例:上面的例子来修改成更完整的处理。其中的else由于只有一行执行的指令,因此不用加上大括号。
复制代码 代码如下:
if ($state==1) {
echo “哈哈” ;
echo “
“;
}
else{
echo “呵呵”;
echo “
“;
}
?>

第三种就是递归的if..else循环,通常用在多种决策判断时。它将数个if..else拿来合并运用处理。
直接看下面的例子:
复制代码 代码如下:
if ( $a > $b ) {
echo “a 比 b 大” ;
} elseif ( $a == $b ) {
echo “a 等于 b” ;
} else {
echo “a 比 b 小” ;
}
?>

上例只用二层的if..else循环,用来比较a和b两个变量。实际要使用这种递归if..else循环时,请小心使用,因为太多层的循环容易使设计的逻辑出问题,或者少打了大括号等,都会造成程序出现莫名其妙的问题。

2、for循环就单纯只有一种,没有变化,它的语法如下:
for (expr1; expr2; expr3) { statement }
其中的expr1为条件的初始值。expr2为判断的条件,通常都是用逻辑运算符号(logical
operators)当判断的条件。expr3为执行statement后要执行的部份,用来改变条件,供下次的循环判断,如加一..等等。而statement为符合条件的执行部分程序,若程序只有一行,可以省略大括号
{}。
下例是用for循环写的的例子:
复制代码 代码如下:
for ( $i = 1 ; $i <= 10 ; $i ++) {
echo “这是第”.$i.”次循环
” ;
}
?>

3、switch循环,通常处理复合式的条件判断,每个子条件,都是case指令部分。在实作上若使用许多类似的if指令,可以将它综合成switch循环。
语法如下:
switch (expr) { case expr1: statement1; break; case expr2: statement2;
break; default: statementN; break; }
其中的expr条件,通常为变量名称。而case后的exprN,通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用break跳离循环。
复制代码 代码如下:
switch ( date ( “D” )) {
case “Mon” :
echo “今天星期一” ;
break;
case “Tue” :
echo “今天星期二” ;
break;
case “Wed” :
echo “今天星期三” ;
break;
case “Thu” :
echo “今天星期四” ;
break;
case “Fri” :
echo “今天星期五” ;
break;
default:
echo “今天放假” ;
break;
}
?>

这里需要注意的是break;别遗漏了,default,省略是可以的。
很明显的,上述的例子用if循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图