第一篇:传智播客 PHP程序员笔记第一天
做网站 Web程序。
需要制作一台可以在网络上被别人访问到的机器。
安装了浏览器的计算机:
browser端 能够提供网络资源的计算机:(网站在这台计算机上),能够提供某种服务。Server端。
B/S是什么意思? 浏览器/服务器的架构:
请求:浏览器端向服务器端发送数据。Request 响应:服务器向浏览器端发送数据。回应,Response
什么样的计算机叫做服务器端? 安装了服务器软件的计算机。
Web服务器软件:iis,nginx,apache。
其中apache还是目前与php配合使用最多的服务器软件:
安装apache这个软件,使jsj成为一台web服务器。
http:// Apache的默认的文档目录 apache的安装目录下/htdocs/
什么是静态网站,动态网站?
静态,网站上所有的内容,都是由静态页面提供的。
动态:网站的内容,是来源于某个数据源(数据库,互联网),而,在需要展示某些数据时,通过某种语言,将数据从数据源内提取,然后再展示到页面上。
如果需要做动态网站,需要
1,数据源(数据库)mysql数据库
2,某种语言(用于提取和展示数据之用)PHP
Amp开发:
利用apache作为web服务器,使别人可以访问到我们的网站 利用mysql作为数据源,可以保存动态网站所需要的数据 利用php来获得某个操作所需要的数据。
小测试: 输出1-100 编写php文件:
访问这个php文件:
发现,可以访问到,但是不能解析。
Apache只有提供被访问的功能,而不能提供解析php代码的功能。
因此需要安装php程序,提供解析php代码的功能:
安装PHP:
所有的请求都是web服务器来接收的(apache),但是其中某些资源需要php来处理。通常的处理方式,是将php作为apache内部的一个模块来管理的。
将php安装成apache模块:
使用一个apache的指令,loadModule来完成:
解压php的安装包:
不需要安装可以直接执行 将php软件复制到相应的目录: E:/amp/php
由于不需要安装,目录内的可执行文件直接可以使用:
在php目录内,有个文件,就是php为apache提供的apache模块:
需要使用apache的LoadModule载入这个模块即可:
需要在apache的配置文件内,使用上面的LoadModule指令: apache的配置文件在 apache的安装目录/Conf/httpd.conf
增加如下指令即可:
修改配置文件后,需要重启动apache服务才可以:
配置apache,告知apache,哪样的前请求需要调用php来解析,而哪些不需要: 通过请求的资源的后缀名
使用apache的FilesMatch指令来完成: 当匹配到php后缀时,调用php来处理: Apache的配置文件内:
请求php文件时,php代码可以执行:
大家可以使用phpinfo()函数来测试以下,当前的php运行的环境:
安装php后,需要配置一些最基本的配置项: 修改php的配置文件: Php的安装目录/php.ini
根据需要,将相应的更改成php.ini即可:
由于php作为apache一个模块,因此需要告知apache,在哪里才能找到php的配置文件。利用apache的指令PhpIniDir来完成:
修改配置文件,达到某些目的:
1,时区
2, php扩展文件的目录。Php的很多功能,并不是内置到php的软件内的。在需要使用某个功能时,再载入即可。这个扩展的功能文件是被保存到某个目录内的,称之为php的扩展目录: Extension_dir:
修改完了php的配置,也需要重启apache才能生效
如果我们的php需要操作数据的话,需要利用数据软件了。安装Mysql。
1,安装 2,配置
配置mysql的安装目录,和mysql数据的保存目录:
安装完成时,勾选运行配置向导,完成配置的过程:
配置字符集:
简单介绍Mysql: 数据库服务器:
属于server端。因此,需要等待某个程序请求他才可以运行。
能够对mysql数据库服务器发出请求的我们称之为mysql客户端。
C/S Client客户端
Server服务器
在安装完mysql后,其实安装了2个软件1,mysql的服务器端,2,mysql的客户端。
我们需要使用php来操作mysql。
其实 在php操作mysql的过程中,php就变成了 mysql的客户端。
Php能够作为mysql的客户端,使用php的php_mysql.dll这个扩展完成,而且,这个扩展不是默认开启的。
开启相应的mysql的操作扩展,利用php的指令extension来完成。Php.ini:
B/S C/S
1,服务器在监听(运行),提供某个服务
2,浏览器或者客户端,对服务器发出请求。在发送请求时,请求的数据一定要按照某种数据格式才可以。数据格式在网络数据传输时称之为网络协议。3,服务器接收到请求后,会根据请求数据,进行相应的操作。4,将处理好的结果返回给浏览器(客户端),回应。Response 5,浏览器端(客户端)对回应的数据进行展示输出,b/s 都是用浏览器发出请求的。
http https c/s架构,都是采用某个服务专用的客户端发出的请求。
Bs架构通常,任何两次请求回应周期是没有任何联系的。在发出请求时,都需要先建连接。
Cs通常,在连接一次之后,通常就会保持住这个连接,后续的操作,就不需要再次建立连接了。
PHP与apache联系:
1,php作为apache的模块而存在。loadModule 2,web服务器与php之间通过 CGI方式产生联系。CGI(通用网关接口),IIS+PHP。现在CGI被fastCGI。Nginx+PHP
apache的虚拟主机:
通常一个web服务器,代理的是一个网站。
有时我们需要利用一个web服务器,管理多个站点。不同的站点拥有独立的域名。
通过配置apache服务器,达到,访问
Test.kang.com时,看到的是test目录的内容。Shop.kang.com时,看到的是shop目录的内容
Apache的基于域名的虚拟主机技术:
主机:一个网站,就是一些php文件的集合,一个保存php文件的目录 域名:指向某个网站的名称。
通过修改apache配置文件达到效果:
Apache/comf/httpd.conf 原则上在这个配置文件内写虚拟主机的配置就可以了。但是通常我们都是将虚拟主机的配置写到某个单独的配置文件内,然后将这个虚拟主机配置文件再载入到apache的这个httpd.conf配置文件内。引入的操作:
虚拟主机的专门的配置文件:
编辑这个虚拟主机文件,增加虚拟主机:
在配置文件内,每一个
域名和目录是一个虚拟虚拟主机最基本的必备元素。
完成以上的操作,apache配置已经完成,apache上已经存在两个虚拟主机了:
在配置了虚拟主机之后,我们对web服务器的默认访问(没有使用配置的虚拟主机域名的访问),都会访问到默认的主机上。
默认的主机:
1,在配置了虚拟主机后:默认的主机就是 第一个配置的虚拟主机 2,在没有配置虚拟主机时,是htdocs目录。
那么怎么才能在使用虚拟主机的前提下,让localhost访问到原来的htdocs?
如何能够通过在浏览器上输入相应的虚拟主机域名访问到我们的虚拟主机呢? 在浏览器端,需要通过相应的域名,解析成目标服务器的ip地址才可以。
可以通过过浏览器端操作系统上自带的 域名解析文件完成。Hosts
配置虚拟主机时,常用的配置:
目录的权限的配置
利用apache的directory指令段完成配置 看 httpd.conf的配置:
目录级别的配置,对当前目录,及其后代目录有效果。
如果在apache的配置文件内,没有对某个目录进行配置,则采用默认的目录配置
可以通过修改默认的配置达到目的,但是通常是针对目录进行单独配置: 增加一个 Directory指令段:
为了将目录与虚拟主机联系起来,通常在VirtualHost内,使用Directory指令 Conf/extra/httpd-vhosts.conf
直接访问目录的配置:
在访问目录时,先检测当前目录是否配置了目录索引页,如果配置了索引页,则展示索引页的内容。目录的索引页使用apache的指令 directoryIndex完成配置。这个指令是可以写到directory段内。
如果没有配置目录索引页:则需要将目录的的内容以列表的形式显示出来,但是是通过配置apache的指令options加以配置,是否可以显示目录的索引列表。
可以在配置 options时 增加上允许符号连接的配置:
Apache的配置文件系统:
Apache程序,只会在apache服务器启动时,读取apache配置文件的内容,称之为apache主配置文件。
一旦配置文件的语法出错,就会导致apache服务器启动失败,提示:
Apache提供一个apache的配置文件检查的功能:
也可以通过 cmd,命令行运行:
Apache还有一个配置文件,称之为apache的分布式配置文件,apache允许在某个目录内部,使用独立的配置文件,来配置当前目录及其后代目录的中的一些设置。但是此时配置文件名称,就不是httpd.conf了 而是.htaccess
在这个.htaccess配置文件中配置的内容,只能是目录级别的配置。
但是默认情况下,分布式配置文件是不可以使用的。可以通过在主配置文件中使用apache的 Allowoverride指令加以配置。由于分布式配置文件是配置目录的,因此 allowoverride也是需要写到Directory段。
分布式与主配置文件的区别:
1,主配置文件需要保存到Conf目录中,而分布式需要保存到所有需要配置的目录中
2,主配置文件只要在apache启动时,才读取,而分布式配置文件,在apache访问到某个目录时都会读取一次。
作业
1,每个人配置一个虚拟主机: 域名是 test.ip.com Test.100.com
2,在test.ip.com上增加一个表单页面 Welcome.html页面
最好在表单提交时,验证姓名不能为空,为空给出提示,不能提交。
分析上面的例子:
发生了几次请求和回应的过程。
第二篇:传智播客PHP教程.zend.framework视频教程简介
[视频简介:]
本教程贯穿了两个软件公司常用的两个项目,数据采集系统和购物车,共分20讲,全面细致的讲解了如何正确的使用zend framework框架到网站开发中,zend framework 是官方推荐的PHP mvc框架,功能强大,后劲十足,也正是它太强大了,所以很多PHP程序员对它望而生畏,不敢去学习掌握它,真的有那么难吗? 呵呵,看完本教程你就会发现,喔!不过如此。
韩老师这套zf视频教程是目前市面上讲解最全面的zend framework视频教程,从本质上深入浅出的分析了zend framework运行原理。
韩顺平老师从事多年的软件开发和培训教学,非常清楚那些容易使新手困惑的问题,在学习过程中会碰到的拦路虎,韩老师结合了多年实际开发与教学经验,收集了众多学员在学习中常提到的问题,对平时讲课的内容进行了精心整理。读者从本视频中不仅可以学习到zend framework框架本身方面的知识,还能学到了许多编程思想和实际操作手法,仿佛韩老师在你面前进行现场演示一样。本视频不仅全面的介绍了zend framework本身,最重要还交会读者去掌握编程思想,找到编程感觉,而不是死记硬背语言本身,视频中涉及到的应用问题分析,远远超了一个PHP程序员在学习和应用zend framework过程中所有可能碰到的问题。
本视频不仅讲概念,讲怎么做,还告诉读者为什么;不仅讲操作技能,还贯穿一些系统的理论,这样读者才不至于不明不白,或是似乎明白,但不知道具体该怎么干。本视频一步步引导读者深入,使读者轻松愉快、兴趣盎然、水到渠成、潜移默化地掌握PHP编程及许多其他的软件开发思想。
[声明:]
本课程是由传智播客韩顺平老师录制,任何人不能用此教程牟利,违者必究。但是:在不收取其他人费用的前提下,您可以自由的分发此视频教程。
[联系我们:]
在学习过程中如果遇到问题可以通过以下联系方式与我们取得联系,另外还有更多传智播客PHP内部视频见:
网址:http://php.itcast.cn 或者 http://
电话:010-51552111E-mail:hsp@itcast.cn
第三篇:传智播客PHP教学之PHP基本语法
PHP基本语法
36讲 PHP基本语法介绍 PHP数据类型介绍.............................................................................2 37讲 整型细节说明........................................................................................................................3 38讲 布尔细节 浮点数细节 字符串细节 算术运算符①..........................................................4 39讲 算术运算符② 比较运算符 逻辑运算符............................................................................5 40讲 三元运算符 类型运算符 运算符优先级............................................................................9 41讲 顺序控制 分支控制(if ifelse switch)程序流程图............................................................10 42讲 循环控制①(for)..................................................................................................................15 43讲 循环控制②(while dowhile)打印金字塔案例..................................................................16 45讲 break语句 continue语句 常量.........................................................................................19 46讲 函数基本概念 函数快速入门............................................................................................22 47讲 函数使用 函数调用初步理解............................................................................................25 48讲 函数调用深入理解 函数使用注意事项①........................................................................26 49讲 函数使用注意事项② 函数作业布置................................................................................29 50讲 函数再回顾 自定义函数....................................................................................................30 51讲 位运算①.............................................................................................................................31 52讲 位运算②.............................................................................................................................32 53讲 数组介绍 数组的创建 数组的遍历..................................................................................34 54讲 数组的引用 数组使用细节①............................................................................................36 55讲 数组使用细节② 数组运算符 数组作业评讲① 数组小结............................................38 56讲 排序介绍 冒泡排序............................................................................................................40 57讲 选择排序 插入排序 快速排序..........................................................................................42 58讲 顺序查找 二分查找............................................................................................................44 59讲 多维数组 数组作业评讲②................................................................................................46
36讲 PHP基本语法介绍 PHP数据类型介绍
更新时间:2012年11月02日16时44分 来源: 1.1
单行注释 // #
php的基本语法加强 Parse : 解析 error : 错误 syntax : 语法
①
php 可以和 html 混合使用 ②
php 的变量的定义使用
//php中,定义一个变量要以$符号打头
$a=890;//我定义了一个变量, 该变量名叫 $a , 然后给该变量赋了一个值890 ③
php 的变量的数据类型,是变化的,php变量的数据类型是由运行时的上下文决定 ④
php区分大小写 $i = 89;$I=90;$abc=90;$Abc=900;
⑤
php 的变量的名称,应当以字母或者下划线开头,不要用数字开头,也不要用特殊字符开头.$3abc=89;
php 数据类型有哪些? 有三大类
1.基本数据类型 1.1 整型 1.2 小数型(浮动数)包含单精度和双精度 1.3 布尔类型(表示真,和 假)1.4 字符串 2.复合数据类型 2.1 数组(array)2.2 对象(object)3.特殊数据类型 3.1 null
3.2 资源类型(resource)
37讲 整型细节说明
更新时间:2012年11月04日19时18分 来源: 基本数据类型的入门案例: ■ 整型
整数类型可以表示一个整数,比如:
$ts=1;$ts=-12;■ 布尔类型
布尔型可以表示真或者假,比如:
$ts=true;$ts=false;■ 小数类型
小数类型可以表示一个小数(float,double)
$ts=1.12 $ts=3.1415926 ■ 字符串类型
字符串类型可以表示一个字符串
$ts=“我是一个好人 hello” 基本概念: 何为定义一个变量
$a=90;//相当于我们定义了一个变量 $a,并赋值90 ?>
什么叫给变量赋值
$a=78;
$a=8;//表示用新的值替代 78
$a=”hello”;//表示$a 的类型变化.?>
整型的细节讨论
①在php中一个整型数据可以用十进制,也可以用八进制和十六进制 比如 :
$a = 0123;// 八进制数(是以0开头)$a = 0x1A;// 十六进制数
0123 = 3*8的0次方 + 2*8的1次方+ 1*8的二次方 =3*1+2*8+1*64=83
0x1A= A*16的0次方 +1*16的一次方=10+16=26
$a=123=3*10的0次方+2*10的1此方+1*10的二次方=3+20+100=123 ② php的整数都是有符号数.通过该图,我们可以看出,php的整数的二进制的最高位表示符号 ③ 通过 PHP_INT_SIZE
可以显示我们自己的机器,一个整数用几个字节表示 echo PHP_INT_SIZE;
通过PHP_INT_MAX 可以显示int 最大的数有多少 echo PHP_INT_MAX;
请问? 为什么 PHP_INT_MAX是 2147483647 我们一起推一下
请问? php 的int 型,负数最大表示多少? 负数和正数一样大 2的31次方减一
④ 如果一个整数的范围超过了最大范围,则自动变成float
38讲 布尔细节 浮点数细节 字符串细节 算术运算符①
更新时间:2012年11月06日13时53分 来源: 学生的问题?
$a=2;问在内存中 2是怎样存在的
00000000 00000000 00000000 00000010-> 0*2的0次方+1*2的一次方+..0=0+2=2 $a=-2 问在内存中形式
布尔类型
简单的说 布尔类型就两个值 true, 一个false;举例: //布尔类型 $a=true;$b=false;布尔值 FALSE 自身 整型值 0(零)浮点型值 0.0(零)空 字符串, 以及 字符串“0” 不包括任何元素的数组
不包括任何成员变量的对象(仅PHP 4.0 适用)特殊类型 NULL(包括尚未设定的变量)
$conn=mysql_connect(“localhost”,”root”,”root”);if($conn){
echo „ok‟;}else{
echo „没有ok‟;}
浮点数的细节
1.浮点数(也叫双精度数或实数)
2.浮点数的字长和平台相关,通常最大值是 1.8e308 并具有 14 位十进制数字的精度(这个限制很重要)☞ 精度要从左边开始的第一个非0的数字计算.字符串的细节 $a=”hello”;
请问 $a 占用了多个是字节 5个字节 一个字符串类型可以表示多大的串?
①理论上,我们对字符串大小没有限制,即只有不超过内存就可.②我们定义字符串的时候,可以用单引号,也可以使用双引号 区别如下: $i=90;
$user1=“hello$i”;
$user2='hello$i';
echo '
user1='.$user1;
echo '
user2='.$user2;
从上面案例我们看出, 当一个变量包含在 “”号中时,会输出它的值,而包含在‟‟ 中是输出其字符本身.案例2
如果字符串是包围在单引号(„)中, 除了来处理 ” 时,会输出 ” 外,其它规则都一样
php数据类型的自动转换
php的表达式
所谓表达式,就是任何有值的东西.$a=90+89;
php的算术运算符 +、-、*、/、%
39讲 算术运算符② 比较运算符 逻辑运算符
php的算术运算符
更新时间:2012年11月08日17时42分 来源: +、-、*、/、% $a=90;
$b=7;
if($a%$b==0){
echo '能整除';
}else{
echo '不能整除!';
}
++ 和 – 快速入门: $a=90;
$a++;//等价于 $a=$a+1;
echo $a;
$b=89;
$b--;//等价于$b=$b-1;
echo '
'.$b;
细节 我们的++ 和 – 分为前++ 后 ++ ,--也分为 前--$a=56;$b=$a++;echo $b;echo $a;对上面代码的分析如下: $a=56;
//$b=$a++;//等价于 $b=$a;$a=$a+1;
$b=++$a;//等价于 $a=$a+1;$b=$a;
echo $b.“||”;//-->$b 57
echo $a;//-->$a 57
左加 += 左减-=
左乘 *= 左除 /= 左取模 %= $a=90;
$a-=90;//$a=$a-90;echo $a;
比较运算符
案例: $a=2;$b=2.0
//只有值相等就为true if($a= =$b){
echo „$a==$b‟;}
//全等,要求$a 和 $b 值和类型要相等 if($a= = =$b){ }
对!=!= = 说明 //只有值不相等,则为true
if($a!=$b){
echo '$a!=$b';
}
//只要值不相等,或者类型不相等,则为true
if($a!==$b){
echo '$a!==$b';
}
请编写一个程序,该程序可以接收两个数(可以是整数,也可是小 数),并判断两个数是大于?小于?还是等于? 对应的案例:
$b=90;
if($a>$b){
echo '$a>$b';
}
if($a<$b)
{
echo '$a<$b';
}
if($a==$b){
echo '$a==$b';
} ?> 逻辑运算符
要求大家掌握的知识点有: 搞清每个逻辑运算的规则 案例 $a=10;$b=7;
if($a++>8 || $b++>7){
echo 'ok!';
}
echo 'a='.$a.'b='.$b;//把结果填写 $a=10;$b=7;
if($a++>10 && $b++>7){
echo 'ok!';
}
echo 'a='.$a.'b='.$b;$a=10;$b=7;
if($a++>18 && $b++>7){
echo 'ok!';
}
echo 'a='.$a.'b='.$b;
☞ 面试题: and && 都表示逻辑与,他们的区别在什么地方 主要体现在优先级上面 and 的优先级 and< = <&& or < = < || 配合案例: $e = false || true;$f = false or true;var_dump($e, $f);$e 是 true $f 是 false;.....40讲 三元运算符 类型运算符 运算符优先级
php基本语法-三元运算符 基本语法
表达式1 ? 表达式2 : 表达式3 规则:
更新时间:2012年11月11日18时53分 来源: 如果表达式1 的运算结果是 true, 则取 表达式2 的值,否则,取表达式3的值.举例 :
$a=90;
$b=180;
$c=$a>$b?(12-10):“hello,world”;
echo 'c=='.$c;?>
php 的字符串运算符 案例:
$a=“hello,world”;
$b=123;
$c=$b.$a;//$a 具体表示内容和 $b 表示内容拼接
echo $c;
从上面案例我们看出,当两个变量(基本数据类型)用.连接的时候,就表示把他们的内容拼接
类型运算符(了解)
基本语法是: instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例,通常在面向对象开发中可能用的.class Dog{}
class Cat{}
//创建一个对象
$cat1=new Cat;
//var_dump($cat1 instanceof Dog);
//在实际开发中,我们可能需要去判断某个变量是否是某个类型
if($cat1 instanceof Cat){
echo '$cat1 是一只猫';
}
运算符优先级的说明: //****运算优先级*****
☞ 如果将来你们有一个表达式很复杂,建议使用()来指定其运算优先级
$a=3;
$b=++$a*3;
echo $b;
41讲 顺序控制 分支控制(if ifelse switch)程序流程图
更新时间:2012年11月16日10时30分 来源:
php程序的三大流程控制 ①
顺序控制(从上到下,从左到右)$a=7;
echo “a=”.a;
echo “hello!”;
$a++;
echo “a=”.a;
echo “O(∩_∩)O”;
$a++;
echo “a=”+a;
所谓顺序控制流程,就是不加控制的流程,默认情况,会按照,顺序来执行你编写的代码 ②
分支控制
一个简单的定义: 有选择的来执行我们的代码.分为 1.单分支 2.双分支 3 多分支 1.单分支的基本语法结构 if(条件表达式){
语句;
//...//....}
这里我们,这里的条件表达式不管多复杂,最总运算的结果就是 true 或者 false;快速入门:
编写一个程序,可以输入人的年龄,如果该同志 的年龄大于18岁,则输出 “你年龄大于18,要对 自己的行为负责!” $age=7;
if($age>18){
echo '你的年龄大于18';
} 2.双分支 基本语法结构 if(条件表达式){
//n多语句;}else{
//n多语句;}
编写一个程序,可以输入人的年龄,如果该同志 的年龄大于18岁,则输出 “你年龄大于18,要对
自己的行为负责!”。否则 ,输出”你的年龄不大
这次放过你了.” 代码: $age=4;
if($age>18){
echo '你的年龄大于18';
}else{
echo '你的年龄小于18';
}
echo '
程序结束!';
3.多重分支 基本语法结构是 if(条件表达式){ //n多语句
}else if(条件表达式){ //n 多语句 }else if(条件表示式){ //.}//这里可能还有更多的else if else{ }
☞ 对上面的结构请注意:
(1)else if 可以有一个,也可以有多个(2)else 可以没有 快速入门案例:
编写一个程序,可以输入人的年龄,如果该同志 的年龄大于18岁,则输出 “你年龄大于18,要对
自己的行为负责,送入监狱”。如果该同志的年
龄大于10岁并且小于等于18,则输出 “你的年龄
也不小了,把你送少管所.”。其它情况,则输出
“小孩子,下次注意”。代码如下: $age=34;【1】 if($age>18【2】){
echo '你要被送入监狱';【3】 }else if($age>10 【4】 && $age<=18【5】){ echo '送入少管所';【6】 }else{
echo '下次注意';【7】 }
echo “over”;【8】 流程分析图:
switch分支语句 基本语法结构 switch(表达式){ case 常量1: //n多语句;break;case 常量2: //n多语句 break;defual:
//n多语句;
break;} ☞ 请注意:
1.case 语句有一到多
2.defaul 语句可以没有(根据自己代码的业务逻辑)3.通常,在case 语句后,要带break ,表示退出switch语句 4.常量的类型(int, float, 字符串, 布尔型)快速入门案例: 请编写一个程序,该程序 可以接收一个字符,比如 : a,b,c,d,e,f,g
a表示星期一,b表示星期 二 … 根据用户的输入显 示相依的信息.要求使用 switch 语句完成 $myChar=“b”;
switch($myChar){
case “a”:
echo '今天星期一,猴子穿新衣';
break;
case “b”:
echo '今天星期二,猴子当小二';
break;
case “c”:
echo '今天星期三,猴子爬雪山';
break;
default:
echo '没有匹配的日期';
}
echo 'okokook';一个案例: $i=“11“;
switch($i){
case 10:
echo '10';
case 1.3:
echo '11';
break;
default:
echo 'hello';
//break;
case 11:
echo '12';
break;
}
该案例得出一个结论: //最终的结论是:
首先按照case顺序进行配置,如果一个都没有匹配到,则执行
default语句的内容,直到遇到break,则退出switch Default语句放置的位置对执行的结果没有影响 如果$a=”1”,则会自动转化为整型1
42讲 循环控制①(for)
更新时间:2012年11月19日15时24分 来源: 学生的问题: 老师,说一下if语句和switch的区别,及应用场景。
回答: 从我们学习if 和 switch 分支看,if 对某个范围的判断,而switch是对一个点的判断, 所以我们可以这样去选择他们: 应用场景: 当我们 的分支就是几个点的时候(比如判断坦克的方向),就应当使用swtich ,如果你的分支是几个区域(范围)的判断,则考虑使用if ①
循环控制流程 首先说 for 循环控制 基本语法结构
for(循环初值;循环的条件;步长){
//n多语句;}
为什么需要循环控制 ?
问题 : 请输出9000000句,”你好,北京” 这样一问题: 怎样让我们的某段代码,循环的执行 分析图
for($i=0;$i<2;$i++){
echo '
你好,北京';
}
echo “over”;
内存图:
43讲 循环控制②(while dowhile)打印金字塔案例
更新时间:2012年11月20日11时54分 来源: while循环 基本语法结构是 while(循环条件){
//循环体 ,语句 }
案例: 使用while来打印 10句”你好北京 ” 代码:
//*****while循环*****
$i=0;//$i循环控制变量
while($i<10){
echo '
你好北京'.$i;
//这里我们对循环控制变量,自增.$i++;
} 流程分析图:
do..while循环控制 基本语法结构 do{
//循环体 }while(循环条件);
快速入门: 循环的显示 10句,”你好北京”;$i=0;【1】//循环控制变量 do{
echo '
dowhile你好北京'.$i;【2】 //对循环控制变量修改
$i++;【3】//这里有程序员自己控制步长.}while($i<10【4】);执行的流程图:
综合案例: 要求:
请使用循环控制语句,输出一个空心的菱形->两个思想
1.死去活来 2.先易后难 3.建立自己的函数库和工具库(积累)
*
* *
* *
* *
*
但是这个菱形的层数可以灵活的变化.比较困难-------》简单化
<-------->
案例如下:
//打印出金字塔的一半
//死去活来
//外层的for循环控制层数
for($i=1;$i<=3;$i++){
//内层控制每层*的个数
for($j=1;$j<=$i;$j++){
echo '*';
}
echo '
';
}
//打印出整个金字塔
//如果打印3层
// * *-> 1 2个空格 1个*(1-1)*2+1=// ** ***-> 2 1个空格 3个*(2-1)*2+1=// *** *****-> 3 0个空格 5个*(3-1)*2+1=
5$n=20;
for($i=1;$i<=$n;$i++){
//在打印*前,先打印空格
for($k=1;$k<=$n-$i;$k++){
echo “ ”;
}
//内层控制每层*的个数
for($j=1;$j<=($i-1)*2+1;$j++){
echo '*';
}
echo '
';
}
请大家打印出一个空心金字塔
*
* *
**** 思路:
我们可以这样考虑,在给每行输出* 号的时候,要有判断,(该给*号给*号,该给空格给空格)
思路肯定分析:
和一个空心的菱形
45讲 break语句 continue语句 常量
更新时间:2012年11月23日15时22分 来源:
循环相关的语句-break
基本的概念: 表示结束当前的 for、while、do..while、switch, 流程, 可以给一个数字,表示退出到第几层.快速入门案例:
for($i=0;$i<13;$i++){ echo '$i='.$i.“
”;if($i==10){
break;} }
快速入门的案例2: $i=0;while(++$i){ switch($i){ case 5:
echo “quit at 5
”;break;case 10:
echo “quit at 10
”;break 2;default: break;}
}echo '$i='.$i;结果是: quit at 5 quit at 10 $i=10 分析图:
从上面的案例,我们得到几个结论: 1.break语句 默认跳出 1层
2.break语句 后面带的数字,不能超过实际可以跳出的循环层数,否则,会报fatal error 循环相关语句-continue
基本概念: continue 用于结束本次循环剩余代码,从新开始新的一次循环(如果条件为真,就继续执行), continue 后面也可以带数字,表示从第几次循环重新开始 快速入门:
for($i=0;$i<13;$i++){ if($i==10){ continue;}
echo '$i='.$i.“
”;} 结果 $i=0 $i=1 $i=2 $i=4 $i=5 $i=6 $i=7 $i=8 $i=9 $i=10 $i=11 $i=12 hello 流程
goto语句
基本概念: 通过goto语句我们可以将程序跳转到指定的地方去执行.goto 标签;标签: 语句;快速入门案例: goto a;echo 'aa';a: echo 'bb';快速入门案例2
for($i=0,$j=50;$i<100;$i++){ while($j--){
if($j==17)goto end;} }
echo “i = $i”;end:
echo 'j = 17 '.$i.“||”.$j;结果: j = 17
php中常量 说明:
所谓常量,我们可以理解成就是特殊的变量: 体现在 1.定义常量前面不需要 $ 2.常量一旦定义,则不能修改其值 3.常量在定义的时候,就需要它赋初值.4.常量可以通过 define 或者 const
5.常量的名称,我们一般说是 全部大写,然后用下划线间隔
6.什么时候需要使用常量: 在程序中我们不希望某个值变化,则考虑使用常量,比如圆周率,税率....快速入门案例:
//第一种方法
define(“TAX_RATE”,0.08);
echo TAX_RATE;
//第二种方法(php5.3)
const TAX_RATE2=0.1;
echo '-'.TAX_RATE2;?>
46讲 函数基本概念 函数快速入门
函数讲解
提出一个问题? 请大家完成这样一个需求:
更新时间:2012年11月25日18时08分 来源: ①输入两个数,再输入一个运算符(+,-,*,/),得到结果.如果我们不考虑使用新的技术,用我们现在的知识结构,完成
//请大家完成这样一个需求:
//①输入两个数,再输入一个运算符(+,-,*,/),得到结果.$num1=34;
$num2=90;
$oper=“-”;
//$res表示结果
$res=0;
switch($oper){
case “+”:
$res=$num1+$num2;
break;
case “-”:
$res=$num1-$num2;
break;
case “*”:
$res=$num1*$num2;
break;
case “/”:
$res=$num1/$num2;
break;
default:
echo '运算符号有误!';
}
echo “计算结果是=”.$res;?>