当前位置:首页>软件介绍>PHP教学之PHP基本语法 查询:
     
PHP教学之PHP基本语法

            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 对象 (objec t)

            3. 特殊数据类型

            3.1 null

            3.2 资源类型(resource)

            37讲 整型细节说明

            更新时间:2012年11月04日19时18分 来源:

            基本数据类型的入门案 例:

            ? 整型

            整数类型可以表示一个整数,比如 :

            $ts=1; $ts=-12;

            ? 布尔类型

            布尔型可以表示真或者假,比如 :

            $ts=true; $ts=false;

            ? 小数类型

            小数类型可以表示一个小数(float,doubl e)

            $ts=1.12 $ts=3.1415926

            ? 字符串类型

            字符串类型可以表示一个字符串

            $ts=“我是一个好人 hello ”基本概念:

            何为定义一个变量

            <?php

            $a=90; //相当于我们定义了一个变量 $a,并赋值 90

            ?>

            什么叫给变量赋值

            <?php

            $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_SI ZE

            可以显示我们自己的机器,一个整数用几个字节表 示echo PHP_INT_SI ZE;

            通过PHP_INT_MAX 可以显示int 最大的数有 多少echo PHP_INT_MA X;

            请问? 为什么 PHP_INT_MAX是 21474 83647

            我们一起推一下

            请问, php 的int 型,负数最大表示多少 ?

            负数和正数一样大

            2的31次方减一

            ? 如果一个整数的范围超过了最大范围,则自动变成 float38讲 布尔细节 浮点数细节 字符串细节 算术运算符?

            更新时间:2012年11月06日13时53分 来源:

            学生的问题 ?

            $a=2; 问在内存中 2是怎样存 在的

            00000000 00000000 00000000 00000010 -> 0*2的0次方+1*2的一次方+..0=0+2=2

            $a=-2 问在内存中形式

            布尔类型

            简单的说 布尔类型就两个值 true, 一个fal se;

            举例:

            //布尔类型

            $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 '<br/>user1='.$user1 ;

            echo '<br/>user2='.$user2 ;

            从上面案例我们看出, 当一个变量包含在 “”号中时,会输出它的值,而包含在??中是输出其字符本身 .

            案例2

            如果字符串是包围在单引号(„)中, 除了来处理 ”时,会输出 ”外,其它规则都一样

            php数据类型的自动转换

            php的表达式

            所谓表达式,就是任何有值的东西 .

            $a=90+89;

            php的算术运算符

            + 、 -、*、 / 、%

            39讲 算术运算符? 比较运算符 逻辑运算符

            更新时间:2012年11月08日17时42分 来源:

            php的算术运算符

            + 、 -、*、 / 、%

            $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 '<br/>'.$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';

            }

            请编写一个程序,该程序可以接收两个数(可以是整数,也可是小

            数),并判断两个数是大于?小于?还是等于?

            对应的案例:

            <?php

            $a=123;

            $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讲 三元运算符 类型运算符 运算符优先级

            更新时间:2012年11月11日18时53分 来源:

            php基本语法-三元运算符

            基本语法

            表达式1 ? 表达式2 : 表达式3

            规则:

            如果表达式1 的运算结果是 true, 则取 表达式2 的值,否则,取表达式3的值.

            举例 :

            <?php

            $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 '<br/>程序结束!';

            

            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 ;

            defua l:

            //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($myCha r){

            case "a":

            echo '今天星期一,猴子穿新衣 ';

            break ;

            case "b":

            echo '今天星期二,猴子当小二 ';

            break ;

            case "c":

            echo '今天星期三,猴子爬雪山 ';

            break ;

            defau lt:

            echo '没有匹配的日期 ';

            }

            echo 'okokook';

            一个案例:

            $i=“11“;

            switch ($i){

            case 10:

            echo '10';

            case 1.3:

            echo '11';

            break ;

            defau lt:

            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 '<br/>你好,北京';

            }

            echo "over";

            

            内存图:

            43讲 循环控制?(while dowhile) 打印金字塔案例

            更新时间:2012年11月20日11时54分 来源:

            while循环

            基本语法结构是

            while(循环条件 ){

            //循环体 ,语句

            }

            案例: 使用while来打印 10句”你好北京 ”

            代码:

            //*****while循环*****

            $i=0;//$i循环控制变量

            while($i<10){

            echo '<br/>你好北京'.$i;

            //这里我们对循环控制变量,自增 .

            $i++;

            }

            流程分析图 :

            

            do..while循环控制

            基本语法结构

            do{

            //循环体

            }while(循环条件 );

            快速入门: 循环的显示 10句,”你好北京 ”;$i=0;【1】//循环控制变 量

            do{

            echo '<br/>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 '<br/>';

            }

            //打印出整个金字塔

            //如果打印3层

            // * * -> 1 2个空格 1个* (1-1)*2+1=1

            // ** *** -> 2 1个空格 3个* (2-1)*2+1=3

            // *** ***** -> 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 '<br/>';

            }

            请大家打印出一个空心金字塔

            *

            * *

            ****

            思路:

            我们可以这样考虑,在给每行输出* 号的时候,要有判断,(该给*号给*号,该给空格给 空格)

            思路肯定分析 :

            和一个空心的菱形

            45讲 break语句 continue语句 常量

            更新时间:2012年11月23日15时22分 来源:

            循环相关的语句-break

            基本的概念: 表示结束当前的 for 、 while 、do..while 、switch, 流程, 可以给一个数字,表示退出到 第几层.

            快速入门案例 :

            for($i=0;$i<13;$i++){

            echo '$i='.$i."<br/>";

            if($i==10){

            break ;

            }

            }

            快速入门的案例 2:

            $i=0;

            while(++$i){

            switch($i){

            case 5:

            echo "quit at 5<br/>"; break ;

            case 10:

            echo "quit at 10<br/>"; break 2;

            default:

            break ;

            }

            }echo '$i='.$i;

            结果是:

            quit at 5

            quit at 10 $i=10

            分析图:

            从上面的案例,我们得到几个结论 :

            1. break语句 默认跳出 1层 2. break语句 后面带的数字,不能超过实际可以跳出的循环层数,否则,会报 fatal error

            循环相关语句-conti nue

            基本概念: continue 用于结束本次循环剩余代码,从新开始新的一次循环(如果条件为真,就继续执行), continue 后面也可以带

            数字,表示从第几次循环重新开始

            快速入门:

            for($i=0;$i<13;$i++){ if($i==10){

            continue;

            }

            echo '$i='.$i."<br/>"; }

            结果

            $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. 什么时候需要使用常量: 在程序中我们不希望某个值变化,则考虑使用常量,比如圆周率 ,税率....

            快速入门案例 :

            <?php

            //第一种方法

            define("TAX_RATE",0.08);

            echo TAX_RATE;

            //第二种方法(php5.3)

            const TAX_RATE2=0.1;

            echo '-'.TAX_RATE2;

            ?>

            46讲 函数基本概念 函数快速入门

            更新时间:2012年11月25日18时08分 来源:

            函数讲解

            提出一个问题?

            请大家完成这样一个需求:

            ?输入两个数,再输入一个运算符(+,-,*,/),得到结果. 如果我们不考虑使用新‎‎的技术,用我们现在的知识结构,完成 <html>

            </head>

            <meta http-equiv="content-type" content="text/html;charset=utf-8"/> </head>

            <?php

            //请大家完成这样一个需求:

            //?输入两个数,再输入一个运算符(+,-,*,/),得到结果.

            $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;

            ?>

            </html>

            从该代码分析,我们发现,如果别的页面也需要这样的功能,则代码的复用性不好--->函数引出

            现在我们使用函数,来快速体验好处,示意图:

            

            funcs.php (这个文件,我们定义了一个函数) <?php

            //我们一个计算,+ - * / 的代码集合->函数

            //1. function 是一个关键字

            //2. jiSuan 函数名(由程序员取名)

            //3. $num1,$num2,$oper 是函数的参数列表(形参)

            function jiSua‎‎n($num1,$num2,$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 '运算符号有误!';

            }

            //表示返回一个结果.

            return $res;

            }

            ?>

            func01.php (该文件使用到了我们定‎‎义的函数.) <html>

            </head>

            <meta http-equiv="content-type" content="text/html;charset=utf-8"/>

            </head>

            <?php

            //引入你需要的php文件

            require 'funcs.php';

            //请大家完成这样一个需求:

            //?输入两个数,再输入一个运算符(+,-,*,/),得到结果.

            $num1=34;

            $num2=90;

            $oper="*";

            //以后,要计算结果,则可以直接调用函数

            $res=jiSuan($num1,$num2,$oper);

            echo "计算结果是=".$res; ?>

            </html>

            讨论函数之细节,和其运行原理

            自定函数的基本语法结构

            //参数列表,用处是接受数据.

            function 函数名(参数列表){

            //函数体;(完成某一个功能的指令‎‎集合,这个必须有)

            //return 语句; (return 语句主要的用处是返回一个结果,这个可以没有)

            }

            上机小练习:

            上次我们

            定义一个函数,可以打印不同的图形

            function printTest($n,$name){

            }

            47讲 函数使用 函数调用初步理解

            更新时间:2012年11月27日17时55分 来源:

            php页面相互调用的知识点

            目前我们有这样一个需求:

            (1) a.php 页面要使用 b.php 定义的函数,我们可以使用 如下指令

            require require_once include include_once 举例 require 的用法

            <?php

            require(„要引入的文件名?);

            $filePath=”abc.php”

            require $filePath;

            require „要引入的文件名(路径)?

            ?>

            案例说明:

            <?php

            //1.

            //require 'b.php';

            //2. 通过变量引入

            //$fileName="b.php";

            //require $fileName;

            //3.

            require ('b.php');

            //这里就是所谓的调用函数->怎样理解函数的调用

            abc();

            echo 'hello iii';

            ?>

            require 和require_once 区别 这两个区别为,前者遇到即包含文件,后者会判断是否已经包含过了,如果包含过了,则不再包含文件。一可以节省资源,二可

            以避免重复定义的错误。

            redeclare: 再次声明.

            include: 包含,包括

            举例说明:

            include和 include_once的区别

            他们的作用和功能都可以把一个页面,包含到另外一个页面 基本用法

            <?php

            include(„被包含的文件?);

            include„被包含的文件?;

            include $filePaht;

            ?>

            区别:

            这两个区别为,前者include遇到即包含文件,后者include_once会判断是否已经包含过了,如果包含过了,则不再包含文件。

            一可以节省资源,二可以避免重复定义的错误。

            证明:

            再谈 include 和 require 区别 ( 同时 include_once 和 require_once 区别)

            相同的地方就是,都是可以引入别的页面.

            不同的地方是: include 如果出现了错误,会继续执行,require 出现错误,则会终止程序.

            证明:

            小结: 我们应当使用哪个?

            我们做项目的时候,基本上使用的 require_once ? 注意我们的requir_once / require ... 应当放在 php 最前面.

            48讲 函数调用深入理解 函数使用注意事项?

            更新时间:2012年11月29日15时23分 来源:

            如何理解函数的调用过程

            <?php

            //我们一个计算,+ - * / 的代码集合->函数

            //1. function 是一个关键字

            //2. jiSuan 函数名(由程序员取名)

            //3. $num1,$num2,$oper 是函数的参数列表(形参)

            function jiSuan($num1,$num2,$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 '运算符号有误!';

            }

            //表示返回一个结果.

            return $res;

            }

            $a=12;

            $b=45;

            $type="+";

            $res=jiSuan($a,$b,$type);

            echo "res=".$res;

            ?>

            函数调用的流程图 :

            

            一个通俗理解图:

            

            为了加深大家对函数调用的理解我们,举例(自己调用自己的案例)

            <?php

            function abc($n){

            if($n>2){

            abc(--$n);

            }else{

            echo '$n='.$n."<br/>";

            }

            }

            abc(4);

            ?>

            函数自己调用自己-》这个就称为递归调用.

            

            函数的深入使用讨论

            函数的基本结构

            function 函数名(参数列表){

            //函数体;

            //return 语句;

            }

            ? 参数列表可以是多个参数

            ? 参数可以多个,同时,其数据类型可以是php语言支持的任意类型

            ? 函数名开头的字母,以_ 或者 A_Z 或者 a-z ,不要用数字或者特殊字符开头

            ? 函数名不区分大小写 ,这个与变量不一样. function Abc(){}

            和 function abc(){} 是同一个函数. ? 一个自定义函数中的变量是局部的,函数外不生效

            案例:

            function abc3()

            {

            $a=45;

            echo 'a='.$a;

            }

            abc3();

            echo 'aa='.$a;//

            这里会报一个错误:

            Undefined variable: a

            ? 在php中有三种提示

            notice : 注意

            waring: 警告

            error : 错误

            ? 使用global全局变量的时候,可使用在函数外的变量

            案例,和分析图

            $a=12;

            function abc3(){

            //global $a;//我要在abc3中使用到外层 $a;

            $a+=45;

            }

            abc3();

            echo $a;

            分析图:

            

            49讲 函数使用注意事项? 函数作业布置

            更新时间:2012年11月30日16时20分 来源: ? 如果在函数中,我们不希望使用某个变量,或者是希望彻底的不再某个变量,则可以使用 unset(变量名) ; 将该变量彻底

            删除.

            $a=12;

            function abc3($a){

            unset($a);//表示不再abc3函数范围内,不在使用$a,后面需要全新定义;

            $a=45;

            }

            abc3($a);

            echo $a;

            ? 在php函数中,我们可以给某些参数,赋一个默认的值. 案例说明:

            function abc($b,$a=2){

            $res=$a+$b;

            return $res;

            }

            $e=70;

            echo abc($e).' ||';

            echo abc($e,90);

            $f=70;

            echo abc($e,$f);

            ? php传递变量的时候,默认是值传递,如果需要引用(地址)传递,可以使用 &变量名;

            举例说明:

            

            50讲 函数再回顾 自定义函数

            更新时间:2012年12月03日15时01分 来源: 回顾45讲49讲函数内容,请参考45讲到49讲笔记内容。

            函数分为两大类

            ? 自定义函数

            自己写的函数

            ? 系统函数

            php语句本身给你提供,让你直接使用的函数, php设计者认为,在项目开发的过程,很多人都会用的一下功能,则就直接提供

            给你?

            比如: 我要取一个数的绝对值?

            <?php

            funct myAbs($num){

            if($num<0){

            return -$num;

            }else{

            return $num;

            }

            }

            ?>

            由系统提供.

            51讲 位运算?

            更新时间:2012年12月04日17时47分 来源:

            位(bit)运算

            二进制

            所谓二进制就是逢二进一 (0,1), 因为使用二进制只有 0, 1 两个数,简单,易于电子方式实现 , 同时,通过0,1 组合可以表

            示任意一个数.

            ? 二进制有三个重要的概念

            1. 原码

            用二进制来表示一个数,这个码就是原码.

            1 ------> 原码 00000000 0000000 0000000 00000101 = 1*2的零次方+0*2的一次方+1* 2的二次方=1+0+4=5

            2. 负数的反码=它的原码符号位不变,其它位取反(0->1,1->0) 反码(正数的反码和它的原码一样 , 负数反码 是 符号位不变其它位取反) 补码(正数的补码和它的原码一样,负数的补码是 它的反码+1) 举例

            -1

            -1的原码 10000000 00000000 00000000 00000001

            -1的反码 11111111 11111111 11111111 11111110

            -1 的补码 11111111 11111111 111111111 11111111

            3. 在计算机运算的时候,都是以补码的方式来运算的 4+5=>计算机 4-5=4+(-5)

            这句话意思就是,不管一个数是正数还是负数,都要被转成补码,然后进行运算.

            位运算一览表

            

            该图的前面四个是位运算

            其运算规则是:

            按位与& : 两位全为,,结果为1

            按位或| : 两位有一个为1,结果为1

            按位异或 ^ : 两位一个为0,一个为1,结果为1

            按位取反 : 0->1 ,1->0

            看看前面给出的题,是否完成

            ~2=?

            步骤 : 首先要求出 2的补码

            2是正数 所以 原码=反码=补码

            2 原码

            00000000 00000000 00000000 00000010

            ~2

            11111111 11111111 11111111 11111101 (补码)->原码 ? 负数的 原码-》反码-》补码

            11111111 11111111 11111111 11111101-> 推出其反码 (对补码-1)

            11111111 11111111 11111111 11111100 推出原码

            52讲 位运算?

            更新时间:2012年12月06日10时57分 来源:

            10000000 00000000 00000000 0000011 -> -3

            ~-5=?

            -5 的 补码找出来.

            -5 原码 10000000 00000000 00000000 00000101 -5 反码 11111111 11111111 11111111 11111010 -5 补码 11111111 11111111 11111111 11111011 ~-5取反 00000000 00000000 00000000 00000100 (补码) 4

            2&3=?

            2&3 首先要找到 2 和 3的补码

            2 的补码 00000000 00000000 00000000 00000010

            3 的补码 00000000 00000000 00000000 00000011

            2&3 00000000 00000000 00000000 00000010 [补码

            2|3=?

            2 的补码 00000000 00000000 00000000 00000010

            3 的补码 00000000 00000000 00000000 00000011

            2|3 00000000 00000000 00000000 00000011

            2^3

            2 的补码 00000000 00000000 00000000 00000010

            3 的补码 00000000 00000000 00000000 00000011

            2^3 00000000 00000000 00000000 00000001

            13&7=?

            5|4=?

            -3^3=?

            位移运算

            在php 中位运算有两种 >> (右移) << (左移)

            运算的规则是 :

            算术右移:低位溢出,符号位不变,并用符号位补溢出的高位

            算术左移: 符号位不变,低位补0

            根据我们前面的规范,来完成几个案例

            $a=1>>2;

            1 的补码

            00000000 00000000 00000000 00000001 1>>2

            00000000 00000000 00000000 00000000

            $b=-1>>2;

            步骤 -1 的补码

            -1 的原码 10000000 00000000 00000000 00000001

            -1 的反码 11111111 11111111 11111111 11111110

            -1 的补码 11111111 11111111 11111111 11111111

            -1 >> 2

            11111111 11111111 11111111 11111111 补码

            结果

            补码->原码

            反码 11111111 11111111 11111111 11111110

            原码 10000000 0000000 00000000 00000001 $c=1<<2;

            1<<2

            1的补码

            00000000 00000000 00000000 00000001

            00000000 00000000 00000000 00000100

            $d=-1<<2;

            53讲 数组介绍 数组的创建 数组的遍历

            更新时间:2012年12月07日17时49分 来源:

            10进制->2进制

            7 对 除 2

            数组(重点)

            提出一个问题?

            一个养鸡场有6只鸡,它们的体重分别是3kg,5kg,1kg,3.4kg,2kg,50kg 。请问这六只鸡的总体重是多少?平均体重是多少? 请你

            用现在掌握的技术编一个程序。

            现在我们使用现有的技术来解决问题

            array01.php

            $hen1=3;

            $hen2=5;

            $hen3=1;

            $hen4=3.4;

            $hen5=2;

            $hen6=50;

            如果我们的变量很多,如果我们分别取变量名,显示程序无法控制.

            怎么办?

            我们可以使用一个新的数据类型array 数组,来统一个管理这一组数

            什么是数组

            可以用于存放多个数据的数据类型,我们称为数组 快速体验案例: 用数组来解决养鸡场的问题 //使用数组来完成案例

            $hens[0]=3;

            $hens[1]=5;

            $hens[2]=1;

            $hens[3]=3.4;

            $hens[4]=2;

            $hens[5]=50;

            $hens[6]=30;

            $allWeight=0;

            //遍历整个数组

            //有时为了知道某个数组共有多少个元素,可以使用系统函数count

            echo "共有".count($hens)."只鸡<br/>";

            for($i=0;$i<count($hens);$i++){

            echo "第".($i+1)."只鸡体重=".$hens[$i]."<br/>";

            $allWeight+=$hens[$i];

            }

            echo '<br/>总体重是='.$allWeight.'平均体重='.$allWeight/count($hens);

            小结: 该案例重点说明数组基本使用,细节后面说

            数组创建

            在php中,数组就是关键字和值的集合, 我们可以这样创建

            ? 创建数组

            $arr[0]=123;

            $arr[1]=90;

            $arr[2]=8;

            几个概念:

            [0] -> 这个我们称为下标,或者称为 关键字 $arr[0] -> 这个称为数组的一个元素. $arr[0]=123; 123 表示该$arr[0]元素对应的值 $arr –》这个是该数组的名称.

            在php数组中,元素存放的值可以是任意数据数据类型 ,

            举例说明:

            <?php

            $arr[0]=123;

            $arr[1]="hello";

            $arr[2]=45.6;

            $arr[3]=true;

            $arr[4]=null;//即使放入了一个null,也要占一个空间

            echo "数组大小".count($arr);

            //遍历一下

            for($i=0;$i<count($arr);$i++){

            echo '<br/>'.$arr[$i];

            }

            ?>

            ? 创建数组的第二种方法

            基本语法

            $数组名=array(值,.......);

            举例说明:

            $arr=array(1,90,"helllo",89.5);

            //遍历一把

            for($i=0;$i<count($arr);$i++){

            echo "<br/>".$arr[$i];

            }

            ? 第三种方式创建数组(在默认情况下,我们的元素的下标,是从0开始给你编号,但是实际上,也可以自己指定)

            基本语法

            $arr[„logo?]=”北京”;

            $arr[?hsp?]=123;

            ....

            或者

            $arr=array(”logo”=>”北京”,”hsp”=>123,4=>678); 案例演示:

            $arr[0]=123;

            $arr[1]=90;

            //遍历

            /* for($i=0;$i<count($arr);$i++){

            echo '<br/>'.$arr[$i];

            }*/

            //这个foreach适用范围更广

            foreach($arr as $key2=>$val2){

            echo $key2."=".$val2."<br/>";

            }

            54讲 数组的引用 数组使用细节?

            更新时间:2012年12月09日20时22分 来源:

            ? 注意事项

            ?如果我们创建一个数组的时候,没有给某个元素指定下标,php就会自动的用目前最大的那个个下标值(整数), 加上一作为该

            元素的下标(关键字)

            $arr=array(5=>"logo",567,90);

            //我要访问"logo"这个值

            echo $arr[5];

            echo "<br/>".$arr[6];

            ?如果我们给某个元素的下标一样,则会覆盖原来的值: $arr=array(5=>"logo",567,90);

            //我要访问"logo"这个值

            $arr[5]="yes";//替换某个元素值

            echo $arr[5];

            echo "<br/>".$arr[6];

            ? 如果我们使用true ,false null 作为key, 则应当怎样访问

            $arr[true]="hello"; //==> $arr[1]

            $arr[false]="world";//==> $arr[0]

            $arr[null]="北京";//==> $arr[null] 或者 $arr[""];

            //null<==>""

            echo $arr[0];

            echo "<br/>".$arr[null];

            ?

            //我们通常可以使用print_r来显示这个数组情况

            print_r($arr);

            echo "<br/>";

            //var_dump可以更加详细的显示数组的信息

            var_dump($arr);

            ? 访问数组的时候,不要越界比如: $arr=array(56,100,101);

            echo $arr[2];//数组越界

            echo "hello";

            一维数组的引用

            基本语法:

            $数组名[键值];

            如果你写的键值不存在,则会报告: Notice: Undefined offset

            一维数组使用陷阱

            //*****一维数组引用陷阱

            $arr[bar]="hello,world";

            echo $arr[bar];

            这样使用时危险!!!!

            php的数组可以动态的增长 $a=array(2,3);

            //这里说明php的数组是可以动态增长.

            $a[3]=56;

            echo $a[2];

            php的数组相关的函数说明 ? count 函数

            基本用法是

            count($数组名); 可以统计该数组共有多少元素.

            ? is_array

            ? print_r 和 var_dump

            ? explode 对字符串进行分割 案例:

            $str="北京&顺平&天津&宋江&林冲";

            //在实际开发中,涉及到字符串的拆分,可以考虑

            $arr=explode("&",$str);

            print_r($arr);

            php数组遍历的四个方法 ? 如果使用 for while do..while 要确定该数组的下标是从 0开始顺序排放

            $colors = array('red', 'blue', 'green', 'yellow');

            //for while do_while

            //for

            for($i=0;$i<count($colors);$i++){

            echo "<br/>".$colors[$i];

            }

            //while

            $i=0;//循环控制变量

            while($i<count($colors)){

            echo "<br/>".$colors[$i];

            $i++;

            }

            //do..while

            $i=0;//循环控制变量

            do{

            echo "<br/>".$colors[$i];

            $i++;

            }while($i<count($colors));

            //foreach

            echo "<br/>*********";

            foreach($colors as $k=>$v){

            echo "<br/>$k=$v";

            }

            55讲 数组使用细节? 数组运算符 数组作业评讲? 数组小结

            更新时间:2012年12月11日16时58分 来源:

            使用unset函数可以销毁某个元素,也可以销毁某个变量,销毁该元素后,关键字不会重新组合.

            $arr[0]=123;

            $arr[1]=456;

            $arr[2]="hello";

            //比如现在我要删除 $arr[1] 元素

            echo "<br/>**删除前****";

            echo $arr[1];

            unset($arr[1]);

            echo "<br/>**删除后****";

            echo $arr[1];

            echo print_r($arr);

            数组运算符(了解即可)

            

            $a = array("a" => "apple", "b" => "banana");

            $b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");

            $c = $a + $b; //$b数组的键和值加到$a

            echo "$a + $b result<br/>";

            var_dump($c); // "a" => "apple", "b" => "banana" "c" => "cherry"

            echo "<br/>";

            $c = $b + $a; //"a" => "pear", "b" => "strawberry", "c" => "cherry"

            echo "$b + $a result <br/>";

            var_dump($c);

            数组的案例:

            为加强大家对数组的理解,我们再给大家出一个题,我们一起完成.在运动会上,五个小孩比赛滑轮,他们的滑完100米,分别用

            了10s、12s、5.7s、9s、14s,请编写一个程序,计算他们的平均时间?[array03.php] 时间保留到小数点后两位.

            <html>

            <head>

            <meta http-equiv="content-type" content="text/html;charset=utf-8"/>

            </head>

            <body>

            <h1>请输入五个小孩的成绩,用空格隔开</h1> <form action="result2.php" method="post"> <input type="text" name="grade"/>

            <input type="submit" value="开始统计"/>

            </form>

            </body>

            </html>

            result2.php

            <?php

            //接收用户提交的学生的成绩!

            $grades=$_REQUEST['grade'];

            //echo 'grade='.$grades;

            //拆分,对成绩进行分割

            $grades=explode(" ",$grades);

            $allGrades=0;

            //遍历

            foreach($grades as $k=>$v){

            $allGrades+=$v; //隐藏转换 string->float

            }

            echo "平均时间是=".$allGrades/count($grades); ?>

            如果我要求把两个页面合并到一起.

            56讲 排序介绍 冒泡排序

            更新时间:2012年12月13日10时04分 来源:

            数组的排序

            这里我们介绍一些常用的排序方法, 排序是一个程序员基本功, 所谓排序就是对一组数据,按照某个顺序排列的过程。

            排序分两大类:

            l 内部排序

            (1) 交换式排序法

            ? 冒泡法

            基本思想:

            

            案例说明:

            <?php

            //简单的

            $arr=array(0,5,-1);

            //这是一个中间变量

            $temp=0;

            //我们要把数组,从小到大

            //外层循环

            for($i=0;$i<count($arr)-1;$i++){

            for($j=0;$j<count($arr)-1-$i;$j++){

            //说明前面的数比后面的数大,就要交换

            if($arr[$j]>$arr[$j+1]){

            $temp=$arr[$j];

            $arr[$j]=$arr[$j+1]; $arr[$j+1]=$temp;

            }

            }

            }

            //输出

            print_r($arr);

            ?>

            

            为了更好使用排序,我们将其封装成一个函数:代码如下 : <?php

            //简单的

            //现在我们把冒泡法封装成函数,利用以后使用

            function bubbleSort(&$myarr){

            //这是一个中间变量

            $temp=0;

            //我们要把数组,从小到大

            //外层循环

            for($i=0;$i<count($myarr)-1;$i++){

            for($j=0;$j<count($myarr)-1-$i;$j++){

            //说明前面的数比后面的数大,就要交换

            if($myarr[$j]>$myarr[$j+1]){

            $temp=$myarr[$j];

            $myarr[$j]=$myarr[$j+1];

            $myarr[$j+1]=$temp;

            }

            }

            }

            echo "<br/>函数中的myarr数组";

            print_r($myarr);

            }

            $arr=array(0,5,-1);

            //使用函数去排序

            bubbleSort‎‎($arr);

            //输出

            print_r($arr);

            ?>

            ? 从上面的案例我们可以看出

            * 数组默认传递的是值,不是地址

            57讲 选择排序 插入排序 快速排序

            更新时间:2012年12月14日14时00分 来源:

            ? 快速排序法

            快速排序法,我们就介绍了一个思想:

            

            ? 选择排序法

            选择排序法的案例:

            

            举例说明:

            function selectSort(&$arr){

            $temp=0;

            for($i=0;$i<count($arr)-1;$i++){

            //假设 $i就是最小的数

            $minVal=$arr[$i];

            //记录我认为的最小数的下标

            $minIndex=$i;

            for($j=$i+1;$j<count($arr);$j++){

            //说明我们认为的最小值,不是最小

            if($minVal>$arr[$j]){

            $minVal=$arr[$j];

            $minIndex=$j;

            }

            }

            //最后交换

            $temp=$arr[$i];

            $arr[$i]=$arr[$minIndex];

            $arr[$minIndex]=$temp;

            }

            }

            自己分析流程.

            ? 插入排序法

            排序思想:

            

            //插入排序法(小->大)

            function insertSort(&$arr){

            //先默认下标为0 这个数已经是有序

            //1. 知道思想->看懂代码->写(灵活)

            for($i=1;$i<count($arr);$i++){

            //$insertVal是准备插入的数

            $insertVal=$arr[$i];

            //准备先和$insertIndex比较

            $insertIndex=$i-1;

            //如果这个条件满足,说明,我们还没有找到适当的位置

            while($insertIndex>=0&&$insertVal<$arr[$insertIndex]){

            //同时把数后移

            $arr[$insertIndex+1]=$arr[$insertIndex];

            $insertIndex--;

            }

            //插入(这时就给$insertVal找到适当位置)

            $arr[$insertIndex+1]=$insertVal;

            }

            }

            从效率上看.

            冒泡法< 选择排序法 < 插入排序法

            快速排序法.[空间和时间]

            58讲 顺序查找 二分查找

            更新时间:2012年12月16日20时58分 来源:

            从效率上看.

            冒泡法< 选择排序法 < 插入排序法

            快速排序法.[空间和时间

            外部排序 (文件..)

            因为数据量大,必须借助外边文件来完成.

            查找

            我们这里给大家介绍 两种

            ? 顺序查找

            对某个数组,安装顺序,一个一个比较,然后找到你要的数据.

            案例:

            要求从一个数组 $arr=array(46,90,900,0,-1)中查找一个 数 34,如果查找则输出该数的下标,如果找不到,则输出,查无此数

            代码:

            //要求从一个数组 $arr=array(46,90,900,0,-1)中查找一个 数 34,如果查找则输出该数//的下标,如果找不到,则输出,查无此

            数

            $arr=array(46,90,900,0,-1,-1);

            function search(&$arr,$findVal){

            $flag=false;

            for($i=0;$i<count($arr);$i++){

            if($findVal==$arr[$i]){

            echo "找到了,下标为=$i";

            $flag=true;

            //break;

            }

            }

            if(!$flag){

            echo '查询不到';

            }

            }

            search($arr,-1);

            ? 二分查找法(必须掌握)

            所谓二分查找,它有一个重要的前提, 该数组本身已经是一个有序数组.

            如果该数组不是有序的,则必须先排序再查找

            

            代码伺候:

            //二分查找函数

            function binarySearch(&$arr,$findVal,$leftIndex,$rightIndex){

            //当 $rightIndex>$leftIndex 说明没有数

            //为什么

            if($rightIndex<$leftIndex){

            echo "找不到该数";

            return ;

            }

            //找到中间这个数

            $middleIndex=round(($rightIndex+$leftIndex)/2);

            //如果大于则,向后面找

            if($findVal>$arr[$middleIndex]){

            binarySearch($arr,$findVal,$middleIndex+1,$rightIndex);

            }

            //如果是小于中间这个数,则向前面找

            else if($findVal<$arr[$middleIndex]){

            binarySearch($arr,$findVal,$leftIndex,$middleIndex-1);

            }else{

            echo "找到这个数 下标是 $middleIndex";

            }

            }

            59讲 多维数组 数组作业评讲?

            更新时间:2012年12月17日14时55分 来源:

            多维数组-二维数组(了解)

            二维数组的基本语法:

            $arr=array( array(1,2,3), array(5,6,9) );

            $arr[0]=array(1,0);

            二维数组,地图 ...

            二维数组在内存中存在的形式:

            快速入门案例:

            请用二维数组,输出如下图形

            0 0 0 0 0 0

            0 0 1 0 0 0

            0 2 0 3 0 0

            0 0 0 0 0 0

            //定义一个二维数组

            $arr=array(

            array(0,0,0,0,0,0,1),

            array(0, 0, 1, 0 ,0 ,0,5),

            array(0 ,2 ,0, 3, 0, 0,90),

            array(0,0,0,0,0,0,100));

            //遍历二维数组(行)

            for($i=0;$i<count($arr);$i++){

            //遍历每行的数据

            for($j=0;$j<count($arr[$i]);$j++){

            echo $arr[$i][$j]." ";

            }

            echo "<br/>";

            }

            echo "<br/>".$arr[2][3]; 所谓矩阵转置: (行和列互换)

            目前有一个二维数组

            1 2 3

            4 5 6

            转置

            作业评讲

            ?

            1( 打印如下图型:

            *********

            *********

            *********

            *********

            *********

            *********

            2( 打印如下图型:

            *

            **

            ***

            ****

            *****

            3( 打印如下图型:

            *

            ***

            *****

            *******

            *********

            2. 空心金字塔

            3. 空心菱形

            定义一个函数

            function printTest($n,$name){

            }

            view.php

            <html>

            <head>

            <meta http-equiv="content-type" content="text/html;charset=utf-8"/>

            </head>

            <form action="homework01.php" method="post"> 请输入层数:<input type="text" name="layer"/><br/> 请选择形状:

            <select name="shape">

            <option value="a">矩形</option> <option value="b">半金字塔</option> <option value="c">金字塔</option> <option value="d">金字塔</option> <option value="e">金字塔</option> </select><br/>

            <input type="submit" value="打印"/> </form>

            </html>

            homework01.php

            <?php

            //死去活来

            //$n表示层数

            $n=$_REQUEST['layer'];

            //"a"->表示矩形 "b"=>一半金子塔 "c"=>完整的金字塔

            $shape=$_REQUEST['shape'];

            $starNum=5;

            //swtich

            function printShape($n,$shape,$starNum=5){

            switch($shape){

            case "a":

            for($i=1;$i<=$n;$i++){

            for($j=1;$j<=$starNum;$j++){

            echo "*";

            }

            //打完一层后,换行

            echo "<br/>";

            }

            break;

            case "b":

            for($i=1;$i<=$n;$i++){

            for($j=1;$j<=$i;$j++){

            echo "*";

            }

            echo "<br/>";

            }

            break;

            case "c":

            break;

            }

            }

            //调用

            printShape($n,$shape);

            ?>

            1. 已知手掌游戏机一台320元,mp3一台260元。 公司举行抽奖大会,公司有18人,一等奖游戏机,二等奖mp3,

            购入5台游戏机,13台mp3。

            问总价为多少,公司实际平均给每人花费了多少钱。(4980,276.6666)

            <?php

            $gamerPrice=320;

            $mp3Price=260;

            $gamerNum=5;

            $mp3Num=13;

            $totalPrice=$gamerPrice*$gamerNum+ $mp3Price* $mp3Num;

            $avgPrice= $totalPrice/ 18;

            ?>

            1. 跳水比赛,8个评委打分。运动员的成绩是8个成绩取掉一个最高分,去掉一个最低分,剩下的6个分数的平均分就是

            最后得分。使用一维数组实现打分功能。 解题:

            <?php

            $arr=array(90,23,89,100,2,5,89,44);

            //这里有一个思路,如果只想知道最低分和最高分是多少,则可以排序.

            //找出给出最低分的裁判

            //该函数可以返回给出最低分的裁判的下标

            function findMin($arr){

            //假设第一个人就是给出最低分的裁判

            $minFen=$arr[0];

            $minIndex=0;

            for($i=1;$i<count($arr);$i++){

            //如果下面条件成立,说明$i 裁判给出的成绩更低

            if($minFen>$arr[$i]){

            $minFe=$arr[$i];

            $minIndex=$i; }

            }

            return $minIndex; }

            ?>

            


名易MyHMS酒店综合管理系统名易MyCRM客户关系管理软件
资产管理软件用品管理软件
车辆管理软件会议管理软件
PHP应用中的八种常见文件操作方式PHP入门的学习方法
php语言入门教程对php编程语言的理解
PHP语法总结PHP编程风格
PHP基本语法PHP简单介绍
php程序员PHP缓存服务器之Redis
信息发布:广州名易软件有限公司 http://www.myidp.net
  • 名易软件销售服务
  • 名易软件销售服务
  • 名易软件技术服务

  • PHP教学之PHP基本语法