day02:PHP变量常量流程控制及基本语法_第1页
day02:PHP变量常量流程控制及基本语法_第2页
day02:PHP变量常量流程控制及基本语法_第3页
day02:PHP变量常量流程控制及基本语法_第4页
day02:PHP变量常量流程控制及基本语法_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、武汉宣和印象文化科技有限公司PHP课程-day02: PHP变量常量流程控制及基本语法day02: PHP变量常量流程控制及基本语法变量 1.PHP可么是变量正如代数,PHP变量可用于保存值(x=5)和表达式(z=x+y)。变量的名 称可以很短(比如X和y),也可以取更具描述性的名称(比如 carname total_volume)。变量的类型:整型;浮点型;字符型;布尔型以上四种类型为标量类型数组;对象以上两种是复合类型资源;null类型以上两种类型是特殊类型2.PHP-如何定义变量类似代数x=5 y=6 z=x+y在代数中我们使用字母(比如 x)来保存值(比如5)。从上面的表达式 z=x+

2、y,我们能够计算出z的值是11。在PHP中,这三个字母被称为变量。3.PHP-变量名的命名规则变量以$符号开头,其后是变量的名称变量名称必须以字母或下划线开头变量名称不能以数字开头变量名称只能包含字母数字字符和下划线(A-z、0-9以及_)变量名称对大小写敏感($y与$丫是两个不同的变量)注释:PHP变量名称对大小写敏感!4.说明(1)整型$a = 10;(2) 浮点型$a = 10.3;(3) 字符串$a =“hello world! ”$a ='333'$a ='userl'(4) 布尔型(布尔类型一般由比较运算得到)$a = true;$a = false

3、;v?php/echo输出一个布尔类型是,true为1,false为空$a = false;echo $a; /空var_d ump( $a);/bool(false)?>(5) 数组类型定义:给一个变量赋多个值$arr = array("a","b","c");var_d ump ($arr); 输出prin t_r($arr);输出(6) 对象类型对象由两部分组成:特征和功能即属性和方法v?phpheader("c onten t-ty pe:text/html;charset=utf-8");class

4、 Personfun ctio n say()echo "<|2>说话 </h2>"function eat()echo "vh2>2 饭 v/h2>"function run()echo "vh2> 走路 </h2>"fun ctio n slee p()echo "vh2> 睡觉 </h2>"$user = new Person();$user->say();$user->ru n();?>(7)资源连接数据库资源文件打开

5、资源目录打开资源v?php$co nn = mysql_co nn ect("localhost","root","123");$co nn2 = mysql_co nn ect("localhost2","root","456");mysql_query("查看数据库",$conn);mysql_query("删除一个表",$conn);/$co nn和$co nn2是一个连接数据库资源 ?>(8)、null 类型$a = n

6、ull;二.常量PHP中的每个变量都有一个针对它的作用域,它是指可以在其中访问变量(从而访问它的值)的一个领域。对于初学者来说,变量的作用域是它们所驻留 的页面。因此,如果你定义了 $var,页面余下部分就可以访问 $var,但是,其它页面一般不能访问它(除非使用特殊的变量)。因为包含文件像它们是原始(包含)脚本的一部分那样工作,所以在includeO 那一行之前定义的变量可供包含文件使用。此外,包含文件内定义的变量可供in clude()那一行之后的父(包含)脚本使用。当使用你自己定义的函数时,所有这些都将变得不那么明显。这些函数具有 它们自己的作用域,这意味着在一个函数内使用的变量不能在其

7、外部使用, 在一 个函数 外部定义的变量不能在其内部使用。由于这个原因,函数内部的变量可 以具有与其外部的变量相同的名称, 但是它们仍然是完全不同的变量,并且具有 不同的值。对于大多数初级程序员来说,这是一个使人糊涂的概念。1.PHP可么是常量PHP常量,常量是单个值的标识符(名称)。在脚本中无法改变该值。有效的常量名以字符或下划线开头(常量名称前面没有$符号)。注释:与变量不同,常量贯穿整个脚本是自动全局的。2.PHP-常量的作用一个不可修改的值而已,怎么用取决于程序员,比如一些cms系统在入口文 件定义一个常量,在其他文件夹中第一行就判断改常量是否定义,否则退出编译, 其实就是对常量值的判

8、断。3.PHP-常量如何设置如需设置常量,请使用define()函数-它使用三个参数:首个参数定义常量的名称第二个参数定义常量的值false。可选的第三个参数规定常量名是否对大小写不敏感。默认是v?phpdefi ne("GREETING", "Welcome to WHXH!");echo GREETING;?>4.PHP常量类型在PHP中变量主要有:内置超级全局变量,一般的变量,常量,全局变量,静态变量等.内置超级全局变量可以在脚本的任何地方使用和可见。即如果我们在一个PHP页面中改变了其中的一个值,那么在其他 PHP页面中使用时,它的值也会发

9、生改变。常量一旦被声明将可以在全局可见,也就是说,它们可以函数内外使用,但是这仅仅限于一个页面之中(包含我们通过in elude和in clude_o nee)包含进来的PHP脚本,但是在其他的页面中就不能使用了。在一个脚本中声明的全局变量在整个脚本中是可见的,但不是在函数内部, 在函数内部的变量如果与全局变量名称相同,以函数内部的变量为准。函数内部使用的变量声明为全局变量时,其名称要与全局变量的名称一致, 在这样的情况下,我们就可以在函数中使用函数外部的全局变量了, 这样就可以 避免上一种因为函数内部的变量与外部的全局变量名称相同而覆盖了外部变量 这样的情况。在函数内部创建并声明为静态的变量

10、无法在函数外部可见,但是可以在函数 的多次执行过程中保持该值,最常见的情况就是在函数的递归执行的过程之中。在函数内部创建的变量对函数来说是本地的,而当函数终止时,该变量也就不存在了。超级全局变量(共9个)的完整列表如下:$GOBALS :所有全局变量数组$_SERVER:服务器环境变量数组$_POST:通过POST方法传递给该脚本的变量数组$_GET:通过GET方法传递给该脚本的变量数组$_COOKIE : cookie 变量数组$_FILES:与文件上传相关的变量数组$_ENV:环境变量数组$_REQUEST:所有用户输入的变量数组包括 $_GET、$_POST、$_COOKIE所包含的输入

11、内容$_SESSION:会话变量数组实例讲解:v?php$a = 4;function sen dValue($x) echo $x;sen dValue($a);?>$a将以参数讲解:$a定义在函数外,函数定义了参数,当函数被调用时,的形式被传递。因此上面代码能够正常运行。v?php$a = 4;function sen dValue() echo $a;sen dValue();?>讲解:当函数被调用时,$a不能以参数的形式被传递。所以上面代码不能够正常运行。5.PHP-认识一下系统常量(1) _FILE_ :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。 L

12、INE :PHP程序文件行数。它可以告诉我们,当前代码在第几行。(3) PHP_VERSION:当前解析器的版本号。它可以告诉我们当前 PHP解析武汉宣和印象文化科技有限公司PHP课程-day02: PHP变量常量流程控制及基本语法器的版本号,我们可以提前知道我们的 PHP代码是否可被该PHP解析器解析。(4)PHP_OS:执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。6.PHP-如何判定常量是否被定义在PHP开发中,常量主要功效是可以避免重复定义, 篡改变量值。在我们进 行团队开发时,或者代码量很大的时候,对于一些第一次定义后

13、不改变的量, 如 果我们使用变量,在不知情的情况下,使用同一变量名时,变量值就会被替换掉,从而会引发服务器执行错误的任务。那我们该如何判定我们常量是否被定义?如果常量被重复定义以后,PHP解析器会发出“ Constant XXX already defined”的警告,提醒我们该常量已经被定义过。那么,在团队开发,或代码量 很大的情况下,我们如何去判定一个常量是否被定义呢?defined()函数可以帮助我们判断一个常量是否已经定义,其语法格式为:bool defi ned(stri ng con sta nts_n ame)它只有参数constant_name指的是要获取常量的名称,若存在则返

14、回布尔类 型true,否则返回布尔类型false;(注:bool表示函数返回值类型为布尔类型)v?php/*判断常量是否存在*/if (defi ned('MYCONSTANT') echo MYCONSTANT;判断变量是否存在if (isset($myvar) echo "存在变量 $myvar."判断函数是否存在if (fun cti on _exists('ima p_open') else echo "存在函数 imag_open/n"武汉宣和印象文化科技有限公司PHP课程-day02: PHP变量常量流程控制及

15、基本语法echo "函数 imag_open不存在/n"?>三.PHP中常用的运算符1. 什么是运算符运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“ +。在vb2005中运算符大致可以分为5种类型:算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符。2.PHP中的算术运算符PHP算数运算符;运算符名称 例子结果加法$x + $y$x$y求和减法$x - $y$x$y的差数乘法$x * $y$x$y的乘积除法$x / $y$x$y的商数模数$x % $y $x$y的余数v?php $x=10;$y=

16、6;echo ($x + $y); / 输出16echo ($x - $y); / 输出echo ($x * $y); / 输出60echo ($x / $y); / 输出1.6666666666667echo ($x % $y); / 输出 4 ?>3.PHP中的赋值运算符武汉宣和印象文化科技有限公司PHP课程-day02: PHP变量常量流程控制及基本语法echo $i; / 输出30PHP赋值运算符用于向变量写值。PHP中基础的赋值运算符是"="。这意味着右侧赋值表达式会为左侧运算数设置值。赋值等同于描述x = yx=y 右侧表达式为左侧运算数设置值。x +=

17、yx = x + y加x -= yx = x - y 减x *= yx = x * y乘x /= yx = x / y 除x %= yx = x % y模数v?php$x=10;echo $x; / 输出10$y=20;$y += 100;echo $y; / 输出120$z=50;$z -= 25;echo $z; / 输出25$i=5;$i *= 6;$j=10;$j /= 5;武汉宣和印象文化科技有限公司PHP课程-day02: PHP变量常量流程控制及基本语法echo "<br>"echo $j; / 输出 2$k=15;$k %= 4;echo $k;

18、 / 输出 3?>4.PHP中的比较运算符运算符名称 例子结果=等于 $x = $y如果$x等于$y,则返回true。=全等(完全相同)$x = $y 如果$x等于$y,且它们类型相同,则返回 true。不等于$x != $y如果$x不等于$y,则返回true。<>不等于$x <> $y 如果$x不等于$y,则返回true。(完全不同)$x != $y 如果$x不等于$y,或它们类型不相同,则返回true。大于$x > $y如果$x大于$y,则返回true。大于$x < $y如果$x小于$y,则返回true。>=大于或等于$x >= $y如

19、果$x大于或者等于$y,则返回true.<=小于或等于$x <= $y如果$x小于或者等于$y,则返回true。v?php$x=100;$y="100"var_du mp($x = $y);echo "<br>"var_du mp($x = $y);var_du mp($x != $y);echo "<br>"武汉宣和印象文化科技有限公司PHP课程-day02: PHP变量常量流程控制及基本语法var_du mp($x != $y);echo "<br>"$a=50;

20、$b=90;var_dum p($a > $b);echo "<br>"var_dum p($a < $b);?>'5.PHP中的三元运算符三元运算符语法:条件 ?结果1 :结果2说明:问号前面的位置是判断的条件,如果满 足条件时结果1,不满足时结果2。下面我们来详细探讨下。如下语句:$if_summary = $row 'IF_SUMMARY' = 2?'是':'否'这就是PHP的三元运算符 这句话的意思就等于是if ($row 'IF_SUMMARY' = 2) $if

21、_summary ="是”;else $if_summary ="否”;三元运算符的功能与if . else ”流程语句一致,它在一行中书写,代码非常精练、执行效率更高。在PHP程序中恰当地使用三元运算符能够令脚本更为简洁、高效。(expr1 ) ? (expr2 ) : (expr3 );'expr1 ”成立,则执行语句expr2 ”,否则执行expr3 ”。若使用条件流程语句,就需要书写多行代码:代码格式如下:解释:如果条件实现同样的功能,if (expr1expr2 ; else expr3 ;可见,前面所说的三元运算符之好并非夸张。可是,多数情况下我们只在代

22、码较为简 单的时候使用三元运算符,即执行语句只为单句的时候。如:$a>$b ? print "a 大于 b" : print "a 小于 b"事实上,三元运算符可以扩展使用,当设置的条件成立或不成立,执行语句都可以不止一句, 试看以下格式:(expri ) ? (expr2 ).( expr3 ) : (expr4 ).( expr5);非常明显地看到,多个执行语句可以使用用字符串运算符号( 用小角括号包围起来以表明它是一个独立而完整的执行语句。“.”连接起来,各执行语句 这样扩展后它的功能更为逼近if . else "流程语句。同时三元

23、运算符还可以嵌套使用。例如,a大于b成立时:如果a小于c,那么x=c-a否则x=a- c;否则a小于b成立时:如果 b小于c,那么x=c- b否则x=b-c:$a>$b ? $x =( $a <$c ? $c - $a : $a - $c) : $x =( $b <$c ? $c - $b : $b - $c);嵌套使用的三元运算符可读性不太好,日后对代码的维护极可能存在问题,但比起if . else ”之类的流程语句,在上述情形之下,它的确太简练了,这是它的诱人之处。对于喜欢偷懒和追求代码简洁的人来说,用三元运算符取代if流程语句应该是绝佳的选择。即使不用考虑三元”中条件句

24、以外的任意某一元”,使用三元运算符仍然比if语句简练。以下语句的语法是正确的,它们以小解引号的方式忽略了第二或第三元”:$a>$b ? print "Yes" : "" ; $a>$b ?'':print 'No'应该注意的是:在使用三元运算符时,建议使用print 语句替代echo语句。:'wjb'注意下列一串语句的理解:$str = $_GET 'abc' ? 'wangjinbo'这里不能理解为:当$str 等于$_GET 'abc'为

25、9;wjb';因为一:判断相等应该用=;因原二:三元算符的语法是如(expr1 ) ? ( expr2 ) : (expr3 ),显然上面的二元,三元'wangjinbo'或'wjb'构成一个有意义的表达式;时,赋值为'wa ngjin bo'否则赋值上所示:不能单独正确理解是:当$_GET'abc'为空(也就是否,PHP中”,null ,0,undifine,都等效布尔值false )时,将$str赋值为'wangjinbo',否则赋值为'wjb';6.PHP中的逻辑运算符运算符名称 例子

26、 结果and与orxor异或$x xor $y 如果$x和$y有且仅有一个为true,则返回true。$x and $y 如果$x和$y都为true,则返回true。$x or $y如果$x和$y至少有一个为true,则返回true。&&II$x && $y 如果$x和$y都为true,则返回true。$x II $y如果$x和$y至少有一个为true,则返回true。!$x如果$x不为true,则返回true。7. PHP中的字符串连接运算符PHP字符串运算符,运算符名称 例子 结果串接 $txt1 = "Hello" $txt2 = $t

27、xt1 . " world!" 现在 $txt2 包含"Hello world!"串接赋值 $txt1 = "Hello" $txt1 .= " world!" 现在 $txt1 包含"Helloworld!"案例:v?php$a = "Hello"$b = $a . " world!"echo $b; / 输出 Hello world!$x="Hello"$x .= " world!"echo $x; / 输出 H

28、ello world!?>8.PHP数组运算符运算符名称 例子结果+ 联合=相等$x + $y $x和$y的联合(但不覆盖重复的键)$y拥有相同的键/值对,则返回true。$x = $y 如果$x和=全等$x = $y 如果$x和$y拥有相同的键/值对,且顺序相同类型相同,则返回true。不相等$x != $y如果$x不等于$y,则返回true。<>不相等$x <> $y 如果$x不等于$y,则返回true。!=不全等$x != $y 如果$x与$y完全不同,则返回true。'v?php$x = array("a" => &quo

29、t;red", "b" => "gree n");$y = array("c" => "blue", "d" => "yellow");$z = $x + $y; / $x 与 $y 的联合var_d ump ($z);var_du mp($x = $y);var_du mp($x = $y);var_du mp($x != $y);var_d ump($x <> $y);var_du mp($x != $y);?>'8.

30、PHP递增/递减运算符运算符名称描述+$x 前递增$x加一递增,然后返回$x$x+ 后递增返回$x,然后$x加一递增-$x前递减$x减一递减,然后返回$x$x-后递减 返回$x,然后$x减一递减v?php $x=10;echo +$x; / 输出 11$y=10;echo $y+; / 输出 10$z=5;echo -$z; / 输出 4$i=5;echo $i-; / 输出 5 ?>四.PHP流程控制在您编写代码时,经常会希望为不同的决定执行不同的动作。您可以在代码中使用条件语句来实现这一点。在PHP中,我们可以使用以下条件语句:if语句-如果指定条件为真,则执行代码if.else语句

31、-如果条件为true,则执行代码;如果条件为false,则执行另一端代码if.elseif.else语句-选择若干段代码块之一来执行switch语句-语句多个代码块之一来执行 if (条件)当条件为true时执行的代码;v?php $t=date("H");if ($tv"20") echo "Have a good day!"?>PHP - if.else 语句请使用if.else语句在条件为true时执行代码,在条件为false时执行另一段代码。if (条件)条件为true时执行的代码; else 条件为false时执行的代

32、码;v?php $t=date("H");if ($t<"20") echo "Have a good day!" else echo "Have a good ni ght!"?>PHP - if.elseif.else 语句请使用if.elseif.else语句来选择若干代码块之一来执行。if (条件)条件为true时执行的代码; elseif (con diti on) 条件为true时执行的代码; else 条件为false时执行的代码;v?php $t=date("H");

33、if ($t<"10") echo "Have a good mornin g!" elseif ($t<"20") echo "Have a good day!" else echo "Have a good ni ght!"?>2.PHP条件结构之switchcase希望有选择地执行若干代码块之一,请使用Switch语句。使用Switch语句可以避免冗长的if.elseif.else代码块。语法switch (ex pressi on) case Iabel1:code t

34、o be executed if exp ressi on = Iabel1;break;case label2:code to be executed if exp ressi on = Iabel2;break;武汉宣和印象文化科技有限公司PHP课程-day02: PHP变量常量流程控制及基本语法default:code to be executedif exp ressi on is differe ntfrom both labell and Iabel2;工作原理:对表达式(通常是变量)进行一次计算把表达式的值与结构中case的值进行比较如果存在匹配,则执行与 case关联的代码代码

35、执行后,break语句阻止代码跳入下一个 case中继续执行如果没有case为真,则使用default语句v?php switch ($x) case 1:echo "Number 1"break;case 2:echo "Number 2"break;case 3:echo "Number 3"break;default:echo "No nu mber betwee n 1 and 3"3.PHP中循环结构之while循环语句PHP循环在您编写代码时,经常需要反复运行同一代码块。我们可以使用循环来执行这样 的任

36、务,而不是在脚本中添加若干几乎相等的代码行。在PHP中,我们有以下循环语句:while -只要指定条件为真,则循环代码块 do.while -先执行一次代码块,然后只要指定条件为真则重复循环 for -循环代码块指定次数 foreach -遍历数组中的每个元素并循环代码块PHP while 循环 只要指定的条件为真,while循环就会执行代码块。语法while (条件为真)要执行的代码;v?php $x=1;while($xv=5) echo "这个数字是:$x <br>"$x+;?> do.while 循环do.while循环首先会执行一次代码块,然后检

37、查条件,如果指定条件为真,则重复循环。v?php $x=1;do echo "这个数字是:$x <br>"$x+; while ($x<=5);?>4.PHP中循环结构之for循环语句PHP for循环如果您已经提前确定脚本运行的次数,可以使用for循环。语法for (i nit coun ter; test coun ter; in creme nt coun ter) code to be executed;参数:init counter:初始化循环计数器的值test counte::评估每个循环迭代。如果值为 TRUE,继续循环。如果它的值为F

38、ALSE,循环结束。in creme nt cou nte:增加循环计数器的值.v?php for ($x=0; $x<=10; $x+) echo '数字是:$x <br>"武汉宣和印象文化科技有限公司PHP课程-day02: PHP变量常量流程控制及基本语法PHP foreach 循环foreach循环只适用于数组,并用于遍历数组中的每个键/值对。语法foreach ($array as $value) code to be executed;v?php $colors = array("red","gree n"

39、,"blue","yellow");foreach ($colors as $value) echo "$value <br>"?>五.PHP经典算法题目1. 有5个人偷了一堆苹果,准备在第二天分赃。晚上,有一人遛出来,把所有菜1/5 藏了。果分成5份,但是多了一个,顺手把这个扔给树上的猴了,自己先拿没想到其他四人也都是这么想的,都如第一个人一样分成5份把多的那一个扔给了猴,偷走了 1/5。第二天,大家分赃,也是分成 5份多一个扔给猴了。最后一人分了一份。问:共有多少苹果?for ($i = 1; ; $i+)if ($i%5 = 1) /第一个人取五分之一,还剩$t $t = $i - roun d($i/5) - 1;if($t % 5 = 1)/第二个人取五分之一,还剩$r $r = $t - rou nd($t/5) - 1;if($r % 5 = 1)/第三个人取五分之一,还剩$s $s = $r - roun d($r/5) - 1;if($s % 5 = 1)第四个人取五分之一,还剩$x$x = $s - roun d($s/5) - 1;if($x % 5 = 1)/第五个人取五分之一,还剩$y $y = $x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论