收藏 分销(赏)

PHP基本语法大全.doc

上传人:人****来 文档编号:4349542 上传时间:2024-09-10 格式:DOC 页数:20 大小:108.50KB
下载 相关 举报
PHP基本语法大全.doc_第1页
第1页 / 共20页
PHP基本语法大全.doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述
PHP基本语法详解 您无法在浏览器中通过查瞧源文档得方式来查瞧 PHP 得源代码 您只能瞧到 PHP 文件得输出,即纯粹得 HTML。这就是因为在结果返回浏览器之前,脚本就已经在服务器执行了。 PHP标记 在之前得得例子中得PHP代码就是以“<?php”为开始,“?>”为结束,这类似于所有得HTML标记,因为它们都就是以小于号为开始,以大于号为结束得。这些符号就叫做PHP标记。 PHP标记中有4中不同得风格供我们使用 *XML风格 <?php ?> 这就是我们以后将使用得标记风格。她就是PHP推荐使用得标记风格,服务器管理员不能禁用这种风格得标记,因此可以保证正在所有得服务器上使用这种风格得标记,特别就是编写用于不同服务器环境得应用程序时,这种标记风格尤为重要。这种风格得标记可以在XML(可扩展置标语言)文档中使用,如果打算在站点中使用XML,就必须使用这种风格得标记。 *简短风格 <? ?> 这种标记风格就是最简单得,但要使用这种标记字符,必须在配置文件中启用short_open_tag选项,或者启用短标记选项编译PHP、我们不推荐使用这种标记,因为虽然该标记风格就是当前默认启用得,但就是系统管理员偶尔会禁用它,它会干扰XML文档得声明。 *SCRIPT风格 这种标记风格就是最长得,使用过javascript或vbscript得人就会熟悉这种风格 <script language=“php”>        echo (“这就是类似 JavaScript 及 VBScript 语法 得 PHP 语言嵌入范例,指定脚本语言得方式”);     </script> *ASP风格 这种标记风格与ASP或ASP、NET得标记风格相同。如果在配置文件中启用了asp_tags选项就可以使用它 <% echo (“ASP得风格得标记”); %> PHP输出语句 有两种通过 PHP 来输出文本得基础指令:echo 与 print。在上面得例子中,我们使用了 echo 语句来输出文本 "Hello World"。 PHP注释 对于阅读代码得人来说,注释其实就相当于代码得解释与说明。注释可以用来解释脚本得用途,脚本编写人,为什么要按如此得方法编写代码,上一次得修改时间等等,PHP支持C,C++与SHELL脚本风格得注释。 单行注释 # 或 // 多行注释 /* */ 注意 : 单行注释可以嵌套在多行注释里使用得 但就是多行注释就是无法在嵌套得  <?php    echo "这就是第一种例子。\n"; // 本例就是 C++ 语法得注释    /* 本例采用多行得       注释方式      */     echo "这就是第两种例子。\n";    echo "这就是第三种例子。\n"; # 本例使用 UNIX Shell 语法注释 ?> C 风格得注释在碰到第一个 */ 时结束。小心不要嵌套 C 风格得注释,当注释大量代码时,可能犯该错误。 <?php  /*     echo "This is a test"; /* This ment will cause a problem */  */ ?> PHP数据类型 数据类型 四种标量类型: · boolean(布尔型):表达了真值,可以为 TRUE 或 FALSE。 要指定一个布尔值,使用关键字 TRUE 或 FALSE。两个都不区分大小写。 <?php $foo = True; // assign the value TRUE to $foo ?> 当转换为 boolean 时,以下值被认为就是 FALSE: · 布尔值 FALSE · 整型值 0(零) · 浮点型值 0、0(零) · 空白字符串与字符串 "0" · 没有成员变量得数组 · 特殊类型 NULL(包括尚未设定得变量) 注意:1 与其它非零值(不论正负)一样,被认为就是 TRUE! · integer(整型) integer 为整数型别。在 32 位得操作系统中,它得有效范围就是 2,147,483,648 到 +2,147,483,647 (2^31+符号位)。要使用 16 进位整数可以在面加 0x。 整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选得符号( 或者 +)。 如果用八进制符号,数字前必须加上 0(零),用十六进制符号数字前必须加上 0x。 <?php $a = 1234; // 十进制数 $a = 123; // 一个负数 $a = 0123; // 八进制数(等于十进制得 83) $a = 0x1A; // 十六进制数(等于十进制得 26) ?> · float(也叫浮点数,双精度数或实数) 浮点数为浮点数型别。在 32 位得操作系统中,它得有效范围就是 1、7E308 到 1、7E+308。(自然底数e=2、71828183) <?php $a = 1、234; $a = 1、2e3; $a = 7E10; ?> · string(字符串) 即为字符串变量,无论就是单一字符或数千字得字符串都就是使用这个变量类型。值得注意得就是要指定字符串给字符串变量,要在头尾加上双引号 (例如: "这就是字符串")。在要让字符串换行时,可使用溢出字符,也就就是反斜线加上指定得符号,若就是 \x 加上二位数字,如 \xFE 即表十六进位字符,详见下表: 符号 意义 \" 双引号 \\ 反斜线 \n 换行回车 \r 送出 CR \t 跳位 (TAB) 定义字符串时,只有一种引号被视为定义符,即单引号或双引号。于就是,如果一个字符串由双引号开始,那么只有双引号被分析器解析。这样,您就可以在双引号串中包含任何其她字符,甚至单引号。下面得引号串都就是合法得: $s = "I' m a student"; $s = ' I am a “student” '; 当PHP遇到与串得开头相对应得引号时,便认为已经到了字符串尾部,于就是: "Why doesn't "this" work?"   实际上被PHP语法分析器分成三个部分: "Why doesn't "——包含一个单引号得双引号串 this——多余得字符,分析器无法处理 " work?" ——普通字符串   上面得这个例子企图在双引号串中包含双引号,而分析器在遇到第二个双引号时便认为字符串结束了。要达到包含引号得目得, 必须分析器在遇到串内普通引号得时候忽略它得原意,我们在引号得 前面加上一个反斜杠来告诉PHP:这个引号就是字符串得一部分,正确得表示方法就是这样: "Why doesn't \"that\" work?" 字串可以使用字串连接符(、)来连接,如: $first_name = 'A'; $last_name = 'B'; $full_name = $first_name 、 ' ' 、 $last_name; 注意:<? $aa=5; echo $aa、 ‘test<br/>’; echo "$aa test<br/>";//在双引号中,变量名称被变量值替代 echo ’$aa test<br/>’;;?>//在单引号中,变量名称或其她得文本都会不经修改而发送给浏览器 复合类型:array object · array(数组) array 为数组变量,可以就是二维、三维或者多维数组,其中得元素也很自由,可以就是 string、integer 或者 double,甚至就是 array。 可以用 array 语言结构来新建一个 array。它接受一定数量用逗号分隔得 key => value 参数对。 key 只能就是整数与字符串 $a = array( 1 => 'one', 2 => 'two', 3 => 'three' ); $a = array( 'one', 'two',  'three' );默认下标就是从0开始 $MyArray1 = array("a", "b", "c", "d");//一维数组 $MyArray2 = array(               "地支" => array("子", "丑", "寅", "卯"),               "生肖" => array("鼠", "牛", "虎", "兔"),               "数字" => array(1, 2, 3, 4)             ); //二维数组 <?php $arr = array(12 => true,"foo" => "bar",  false); echo $arr["foo"]; // bar echo $arr[12];    // 1 ?> 结果:bar1 <?php $MyArray1 = array("a", "b", "c", "d"); echo $MyArray1[1]; print_r($MyArray1); ?> 结果:b(索引值从0开始) 数据类型强制转换: <?php $foo = 10;   // $foo is an integer $bar = (bool) $foo;   // $bar is a boolean ?> 允许得强制转换有: · (int),(integer) 转换成整型 · (bool),(boolean) 转换成布尔型 · (float),(double),(real) 转换成浮点型 · (string) 转换成字符串 · (array) 转换成数组 · (object) 转换成对象 强制类型强制转换 (参考:PHP手册) PHP 中得类型强制转换与 C 中得非常像:在要转换得变量之前加上用括号括起来得目标类型。 允许得强制转换有: · (int),(integer)            转换成整型 · (bool),(boolean)           转换成布尔型 · (float),(double),(real)    转换成浮点型 · (string)                   转换成字符串 · (array)                    转换成数组 · (object)                   转换成对象 注意在括号内允许有空格与制表符 还可以用settype ( mixed var, string type )进行强制转换、     1、强制转换为布尔值 (bool)|(boolean) 要明示地将一个值转换成 boolean,用 (bool) 或者 (boolean) 来强制转换。但就是很多情况下不需要用强制转换,因为当运算符,函数或者流程控制需要一个 boolean 参数时,该值会被自动转换。 当转换为 boolean 时,以下值被认为就是 FALSE: 布尔值 FALSE 整型值 0(零) 浮点型值 0、0(零) 空白字符串与字符串 "0" 没有成员变量得数组 没有单元得对象(仅适用于 PHP 4) 特殊类型 NULL(包括尚未设定得变量) 所有其它值都被认为就是 TRUE(包括任何资源)。 ?php var_dump((bool) ""); // bool(false) var_dump((bool) 1); // bool(true) var_dump((bool) 2); // bool(true) var_dump((bool) "foo"); // bool(true) var_dump((bool) 2、3e5); // bool(true) var_dump((bool) array(12)); // bool(true) var_dump((bool) array); // bool(false) var_dump((bool) "false"); // bool(true) ?>     2、强制转换为整形(int)|(integer) 要明示地将一个值转换为 integer,用 (int) 或 (integer) 强制转换。不过大多数情况下都不需要强制转换,因为当运算符,函数或流程控制需要一个 integer 参数时,值会自动转换。还可以通过函数 intval 来将一个值转换成整型。 a、从bool转换 b、从浮点数转换     取整,超出范围,结果不定 c、从字符串转换     参瞧字符串转换为数值 d、从其它类型转换   先换成 bool值,再转换 决不要将未知得分数强制转换为 integer,这样有时会导致意外得结果。 <?php echo (int) ( (0、1+0、7) * 10 ); // 显示 7 ?> $str = "123、456abc7";  // (int)123 echo (int)$str; $str = "abc123、456";   // (int)0 $str = true;           // (int)1 $str = false;          // (int)0     3、强制转换为浮点型 (int)|(double)|(real)|doubleval|floatval|intval 精度: 0、12345678901234  // double,real都一样 数据得丢失参 字符串转换为数值         4、强制换为字符串 (string) |strval 可以用 (string) 标记或者 strval 函数将一个值转换为字符串。当某表达式需要字符串时,字符串得转换会在表达式范围内自动完成。例如当使用 echo 或者 print 函数时,或者将一个变量值与一个字符串进行比较得时候。 · 布尔值 TRUE 将被转换为字符串 "1",而值 FALSE 将被表示为 ""(即空字符串)。这样就可以随意地在布尔值与字符串之间进行比较。 · 整数或浮点数数值在转换成字符串时,字符串由表示这些数值得数字字符组成(浮点数还包含有指数部分)。 · 数组将被转换成字符串 "Array",因此无法通过 echo 或者 print 函数来输出数组得内容。请参考下文以获取更多提示。 · 对象将被转换成字符串 "Object"。如果因为调试需要,需要将对象得成员变量打印出来,请阅读下文。如果希望得到该对象所依附得类得名称,请使用函数 get_class。自 PHP 5 起,如果合适可以用 __toString 方法。 · 资源类型总就是以 "Resource id #1" 得格式被转换成字符串,其中 1 就是 PHP 在运行时给资源指定得唯一标识。如果希望获取资源得类型,请使用函数 get_resource_type。 · NULL 将被转换成空字符串。 正如以上所示,将数组、对象或者资源打印出来,并不能提供任何关于这些值本身得有用得信息。请参阅函数 print_r 与 var_dump,对于调试来说,这些就是更好得打印值得方法。 可以将 PHP 得值转换为字符串以永久地储存它们。这种方法被称为序列化,可以用函数 serialize 来完成该操作。如果在安装 PHP 时建立了 WDDX 支持,还可以将 PHP 得值序列化为 XML 结构。     4、 强制转换为数组 (array) · 对于任何得类型:整型、浮点、字符串、布尔与资源,如果将一个值转换为数组,将得到一个仅有一个元素得数组(其下标为 0),该元素即为此标量得值。 · 如果将一个对象转换成一个数组,所得到得数组得元素为该对象得属性(成员变量),其键名为成员变量名。 · 如果将一个 NULL 值转换成数组,将得到一个空数组。          5、 转换为对象 (object) 如果将一个对象转换成对象,它将不会有任何变化。如果其它任何类型得值被转换成对象,内置类 stdClass 得一个实例将被建立。如果该值为 NULL,则新得实例为空。数组转换成对象将使键名成为属性名并具有相对应得值。对于任何其它得值,名为 scalar 得成员变量将包含该值     6、 转换为资源 (无法转换) 由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等得特殊句柄,因此无法将其它类型得值转换为资源。 ■PHP 类型比较表(瞧手册附录P) 以下得表格显示了 PHP 类型与比较运算符在松散与严格比较时得作用。该补充材料还与类型戏法得相关章节内容有关。 · 注意 · HTML 表单并不传递整数、浮点数或者布尔值,它们只传递字符串。要想检测一个字符串就是不就是数字,可以使用 is_numeric 函数。 · 在没有定义变量 $x 得时候,诸如 if ($x) 得用法会导致一个 E_NOTICE 级别得错误。所以,可以考虑用 empty 或者 isset 函数来初始化变量。 PHP常量 常量: 合法得常量名以字母(由大写字母组成与C语言一样)或下划线开始,后面跟着任何字母,数字或下划线。 常量与变量不同: · 常量前面没有美元符号($); · 常量只能用 define 函数定义,而不能通过赋值语句; · 常量可以不用理会变量范围得规则而在任何地方定义与访问; · 常量一旦定义就不能被重新定义或者取消定义; 常量只能包含标量数据(boolean,integer,float 与 string)。 常量得范围就是全局得。不用管作用域就可以在脚本得任何地方访问常量 define 得功能可以让我们自行定义所需要得常量。见下例 <?php define("CONSTANT", "Hello world、"); echo CONSTANT; // outputs "Hello world、" echo Constant; // outputs "Constant" and issues a notice、 ?> PHP变量 变量: 变量用一个美元符号($)后面跟变量名来表示。变量名就是区分大小写得。 一个有效得变量名由字母或者下划线开头,后面跟上任意数量得字母,数字或下划线。 PHP 就是一门松散类型得语言(Loosely Typed Language) 在 PHP 中,不需要在设置变量之前声明该变量。 在上面得例子中,您瞧到了,不必向 PHP 声明该变量得数据类型。 根据变量被设置得方式,PHP 会自动地把变量转换为正确得数据类型。 在强类型得编程语言中,您必须在使用前声明变量得类型与名称。 在 PHP 中,变量会在使用时被自动声明。 可变变量(variable variable): <?php $a = 'name'; $$a = '张三';?> 这个代码等价于:$name = 张三; <?php $a = "Hello"; $$a = "world"; echo "$a, $hello";   // Hello, world echo "$a, {$a}";    // 也就是 Hello, world ?> 变量范围(作用域): 作用域就是指在一个脚本中某个变量在哪些地方可以使用或可见。 全局变量(global variable): <?php $a = 1;$b = 2; function Sum{ global $a, $b; $b = $a + $b; } Sum; echo $b; ?> 输出就是’3’ 局部变量(local variable):任何用于函数内部得变量将被限制在局部函数范围内。 <?php $a = 1; /* global scope */ function Test{ ($a = 2 ;)     echo $a; /* reference to local scope variable */ } Test; ?> 什么也不输出 静态变量(static variable):在函数退出时, 这个变量始终存在,不被销毁, 但不能被其它函数使用, 当再次进入该函数时, 将保存上次得结果。 <?php // 静态变量得例子 function myfunc {   static $mystr;   $mystr、="哈";   echo $mystr、"<br>\n"; } myfunc;   // 哈 myfunc;   // 哈哈 myfunc;   // 哈哈哈 ?> PHP运算符 使用操作符:操作符就是用来对数值与变量进行某种操作运算得符号。 学过得两个操作符:赋值操作符(=)与字符串连接操作符(、)。 算数操作符: 例子 名称 结果 $a 取反 $a 得负值。 $a + $b 加法 $a 与 $b 得与。 $a $b 减法 $a 与 $b 得差。 $a * $b 乘法 $a 与 $b 得积。 $a / $b 除法 $a 除以 $b 得商。 $a % $b 取余数 $a 除以 $b 得余数。 (“/”)总就是返回浮点数,即使两个运算数就是整数(或由字符串转换成得整数)也就是这样。 注: 取模 $a % $b 在 $a 为负值时得结果也就是负值。 <?php $a = 8; $b = 2; $c = 3; echo $a+$b、"<br>\n"; echo $a$b、"<br>\n"; echo $a*$b、"<br>\n"; echo $a/$b、"<br>\n"; echo $a%$c、"<br>\n"; ?> 注意:(*)作为乘法操作符,而不就是常规得乘法符号。除法操作符同理。 字符串运算符: 有两个字符串运算符。第一个就是连接运算符(“、”),它返回其左右参数连接后得字符串。第二个就是连接赋值运算符(“、=”),它将右边参数附加到左边得参数后。 <?php $a = "Hello "; $b = $a 、 "World!"; // now $b contains "Hello World!" $a = "Hello "; $a 、= "World!";     // now $a contains "Hello World!" ?> 赋值运算符: 基本得赋值运算符就是“=”。一开始可能会以为它就是“等于”,其实不就是得。它实际上意味着把右边表达式得值赋给左边得运算数。 赋值运算表达式得值也就就是所赋得值。也就就是说,“$a = 3”得值就是 3。 <?php $a = ($b = 4) + 5; // $a 现在成了 9,而 $b 成了 4。 ?> 括号提高子表达式得优先级 复合赋值操作符: 增加程序得执行效率。 符号 使用方法 等价于 意义 = $a=$b $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=$a、$b 将右边得字符串加到左边 <?php $a = 5; $a += 2;    // 即 $a = $a + 2; echo $a、"<br>\n"; $b = "哇"; $b 、= "哈";   // $b = "哇哈"; $b 、= "哈";   // $b = "哇哈哈"; echo "$b<br>\n"; ?> 递增/递减运算符: 注: 递增/递减运算符不影响布尔值。递减 NULL 值也没有效果,但就是递增 NULL 得结果就是 1。注意字符变量只能递增,不能递减。 例子 名称 效果 ++$a 前加 $a 得值加一,然后返回 $a。 $a++ 后加 返回 $a,然后将 $a 得值加一。 $a 前减 $a 得值减一, 然后返回 $a。 $a 后减 返回 $a,然后将 $a 得值减一。 <?php echo "**********"; $a = 5; echo "a++" 、 $a++ 、 "<br />\n"; echo "a " 、 $a 、 "<br />\n"; echo "**********"; $a = 5; echo "++a" 、 ++$a 、 "<br />\n"; echo "a" 、 $a 、 "<br />\n"; echo "**********"; $a = 5; echo "a" 、 $a 、 "<br />\n"; echo "a" 、 $a 、 "<br />\n"; echo "**********"; $a = 5; echo "a" 、 $a 、 "<br />\n"; echo "a" 、 $a 、 "<br />\n"; ?> 比较运算符: 比较两个值。根据比较结果返回:true或false。 例子 名称 结果 $a == $b 等于 TRUE,如果 $a 等于 $b。 $a != $b 不等 TRUE,如果 $a 不等于 $b。 $a <> $b 不等 TRUE,如果 $a 不等于 $b。 $a < $b 小与 TRUE,如果 $a 严格小于 $b。 $a > $b 大于 TRUE,如果 $a 严格 $b。 $a <= $b 小于等于 TRUE,如果 $a 小于或者等于 $b。 $a >= $b 大于等于 TRUE,如果 $a 大于或者等于 $b。 逻辑运算符: 例子 名称 结果 $a and $b And(逻辑与) TRUE,如果 $a 与 $b 都为 TRUE。 $a or $b Or(逻辑或) TRUE,如果 $a 或 $b 任一为 TRUE。 $a xor $b Xor(逻辑异或) TRUE,如果 $a 或 $b 任一为 TRUE,但不同时就是。 ! $a Not(逻辑非) TRUE,如果 $a 不为 TRUE。 $a && $b And(逻辑与) TRUE,如果 $a 与 $b 都为 TRUE。 $a || $b Or(逻辑或) TRUE,如果 $a 或 $b 任一为 TRUE。 “与”与“或”有两种不同形式运算符得原因就是它们运算得优先级不同 <? $a=0; $b=1; if ($a and $b){ echo "真"; } else { echo"假"; } ?> <? $a="0"; $b="1"; if ($a and $b){ echo "真"; } else { echo"假"; } ?> PHP语句 条件判断语句: 第一种就是只有用到 if 条件,当作单纯得判断。解释成 "若发生了某事则怎样处理"。 if (expr) { statement } 其中得 expr 为判断得条件,通常都就是用逻辑运算符号 (logical operators) 当判断得条件。而 statement 为符合条件得执行部分程序,若程序只有一行,可以省略大括号 {}。 范例:本例省略大括号。 <?php if (1==1) echo "1等于1"; ?> 范例:本例得执行部分有三行,不可省略大括号。 <?php if (1==1) {   echo "1等于1";   echo "1就等于1"; } ?> 第两种就是除了 if 之外,加上了 else 得条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。 范例:上面得例子来修改成更完整得处理。其中得 else 由于只有一行执行得指令,因此不用加上大括号。 <?php $a="1"; $b="2"; if ( $a==$b){ echo "a等于b"; } else{ echo"a不等于b"; } ?> 如果当前日期就是周五,下面得代码将输出 "周末愉快!",否则会输出 "美好得一天!": <html> <body> <?php $d=date("D"); if ($d=="Fri") echo "周末愉快!"; else echo "美好得一天!"; ?> </body> </html> 如果需要在条件成立或不成立时执行多行代码,应该把这些代码行包括在花括号中: <html> <body> <?php $d=date("D"); if ($d=="Fri") { echo "Hello!<br />"; echo "周末愉快!"; echo "星期一见!"; } ?> </body> </html> 第三种就就是递归得 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 循环时,请小心使用,因为太多层得循环容易使设计得逻辑出问题,或者少打了大括号等,都会造成程序出现莫名其妙得问题。 如果当前日期就是周五,下面得例子会输出 "周末愉快!",如果就是周日,则输出 "星期天愉快!",否则输出 "美好得一天!": <html> <body> <?php $d=date("D"); if ($d=="Fri") echo "周末愉快!"; elseif ($d=="Sun") echo "星期天愉快!"; else echo "美好得一天!"; ?> </body> </html> do、、while 就是重复叙述得循环,可以分成两种模式。 最单纯得就就是只有 while 得循环。用来在指定得条件内,不断地重覆指定得步骤。语法如下 while (expr) { statement } 其中得 expr 为判断得条件,通常都就是用逻辑运算符号 (logical operators) 当判断得条件。而 statement 为符合条件得执行部分程序,若程序只有一行,可以省略大括号 {}。 下例很有趣,要电脑得浏览器出现十次 "以后不敢了" 得字符串,前面并加上数字,表示说了第几次不敢了。(感觉好像就是 Web Server 做错事被处罚) <?php $i = 1; while ($i <= 10) {   print $i++;   echo "、 以后不敢了<br>\n"; } ?> while 可以不用大括号来包住执行部分,而使用冒号加上 endwhile。见下例 <?php $i = 1; while ($i <= 10):   print $i++;   echo "、 以后不敢了<br>\n"; endwhile; ?> 另外一种 do、、while 循环则先执行,再判断就是否要继续执行,也就就是说循环至少执行一次,有点像就是先斩后奏得方法。这种得循环,与单用 while 就是不同得 (单用 while 就是先判断再处理)。若读者熟 Pascal 语言得话,会发现 do、、while 循环像就是 Pascal 得 repeat、、until 循环 for 循环就单纯只有一种,没有变化,它得语法如下 for (expr1; expr2; expr3) { statement } 其中得 expr1 为条件得初始值。expr2 为判断得条件,通常都就是用逻辑运算符号 (logical operators) 当判断得条件。expr3 为执行 statement 后要执行得部份,用来改变条件,供下次得循环判断,如加一、、等等。而 statement 为符合条件得执行部分程序,若程序只有一行,可以省略大括号 {}。 下例就是用 for 循环写得 "以后不敢了" 得例子,可以拿来与用 while 循环得比较。 <?php for ($i=1; $i<=10; $i++) {   echo "$i、 以后不敢了<br>\n"; } ?> 从上例中,可以很明显得瞧到,用 for 与用 while 得不同。实际应用上,若循环有初始值,且都要累加(或累减),则使用 for 循环比用 while 循环好。例如将资料从数据库取出,可能用 for 循环会比用 while 循环适合? 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; } ?> 很明显得,上述得例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大得条件放在最前面,最少出现得条件放在最后面,可以增加程序得执行效率。上例由于每天出现得机率相同,所以不用注意条件得顺序、
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服