<output id="r87xx"></output>
    1. 
      
      <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
        •   

               當(dāng)前位置:首頁>軟件介紹>PHP教學(xué)之PHP基本語法 查詢:
               
          PHP教學(xué)之PHP基本語法

                      php的基本語法加強(qiáng)

                      Parse : 解析

                      error : 錯(cuò)誤

                      syntax : 語法

                      ? php 可以和 html 混合使用

                      ? php 的變量的定義使用

                      //php中,定義一個(gè)變量要以$符號(hào)打頭

                      $a=890;//我定義了一個(gè)變量, 該變量名叫 $a , 然后給該變量賦了一個(gè) 值890? php 的變量的數(shù)據(jù)類型,是變化的,php變量的數(shù)據(jù)類型是由運(yùn)行時(shí)的上下文決 定? php區(qū)分大小寫

                      $i = 89;

                      $I=90;

                      $abc=90;

                      $Abc=900;

                      ? php 的變量的名稱,應(yīng)當(dāng)以字母或者下劃線開頭,不要用數(shù)字開頭,也不要用特殊字符開頭 .

                      $3abc=89;

                      php 數(shù)據(jù)類型有哪些 ?

                      有三大類

                      1. 基本數(shù)據(jù)類型

                      1.1 整型

                      1.2 小數(shù)型(浮動(dòng)數(shù)) 包含單精度和雙精度 1.3 布爾類型 (表示真,和 假) 1.4 字符串

                      2. 復(fù)合數(shù)據(jù)類型

                      2.1 數(shù)組(array )

                      2.2 對(duì)象 (objec t)

                      3. 特殊數(shù)據(jù)類型

                      3.1 null

                      3.2 資源類型(resource)

                      37講 整型細(xì)節(jié)說明

                      更新時(shí)間:2012年11月04日19時(shí)18分 來源:

                      基本數(shù)據(jù)類型的入門案 例:

                      ? 整型

                      整數(shù)類型可以表示一個(gè)整數(shù),比如 :

                      $ts=1; $ts=-12;

                      ? 布爾類型

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

                      $ts=true; $ts=false;

                      ? 小數(shù)類型

                      小數(shù)類型可以表示一個(gè)小數(shù)(float,doubl e)

                      $ts=1.12 $ts=3.1415926

                      ? 字符串類型

                      字符串類型可以表示一個(gè)字符串

                      $ts=“我是一個(gè)好人 hello ”基本概念:

                      何為定義一個(gè)變量

                      <?php

                      $a=90; //相當(dāng)于我們定義了一個(gè)變量 $a,并賦值 90

                      ?>

                      什么叫給變量賦值

                      <?php

                      $a=78;

                      $a=8; //表示用新的值替代 78

                      $a=”hello”;//表示$a 的類型變化 .?>

                      整型的細(xì)節(jié)討論

                      ?在php中一個(gè)整型數(shù)據(jù)可以用十進(jìn)制,也可以用八進(jìn)制和十六 進(jìn)制

                      比如 :

                      $a = 0123; // 八進(jìn)制數(shù) (是以0開頭 )$a = 0x1A; // 十六進(jìn)制數(shù)

                      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的整數(shù)都是有符號(hào)數(shù) .

                      

                      通過該圖,我們可以看出,php的整數(shù)的二進(jìn)制的最高位表 示符號(hào)? 通過 PHP_INT_SI ZE

                      可以顯示我們自己的機(jī)器,一個(gè)整數(shù)用幾個(gè)字節(jié)表 示echo PHP_INT_SI ZE;

                      通過PHP_INT_MAX 可以顯示int 最大的數(shù)有 多少echo PHP_INT_MA X;

                      請(qǐng)問? 為什么 PHP_INT_MAX是 21474 83647

                      我們一起推一下

                      請(qǐng)問, php 的int 型,負(fù)數(shù)最大表示多少 ?

                      負(fù)數(shù)和正數(shù)一樣大

                      2的31次方減一

                      ? 如果一個(gè)整數(shù)的范圍超過了最大范圍,則自動(dòng)變成 float38講 布爾細(xì)節(jié) 浮點(diǎn)數(shù)細(xì)節(jié) 字符串細(xì)節(jié) 算術(shù)運(yùn)算符?

                      更新時(shí)間:2012年11月06日13時(shí)53分 來源:

                      學(xué)生的問題 ?

                      $a=2; 問在內(nèi)存中 2是怎樣存 在的

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

                      $a=-2 問在內(nèi)存中形式

                      布爾類型

                      簡(jiǎn)單的說 布爾類型就兩個(gè)值 true, 一個(gè)fal se;

                      舉例:

                      //布爾類型

                      $a=true;

                      $b=false ;

                      布爾值 FALSE 自身

                      整型值 0 (零)

                      浮點(diǎn)型值 0.0 (零)

                      空 字符串, 以及 字符串"0"

                      不包括任何元素的數(shù)組

                      不包括任何成員變量的對(duì)象(僅PHP 4.0 適用) 特殊類型 NULL (包括尚未設(shè)定的變量 )

                      $conn=mysql_connect(“l(fā)ocalhost”,”root”,”root”); if($conn){

                      echo?ok?;

                      }else{

                      echo?沒有ok?;

                      }

                      浮點(diǎn)數(shù)的細(xì)節(jié)

                      1.浮點(diǎn)數(shù)(也叫雙精度數(shù)或?qū)崝?shù))

                      2.浮點(diǎn)數(shù)的字長(zhǎng)和平臺(tái)相關(guān),通常最大值是 1.8e308 并具有 14 位十進(jìn)制數(shù)字的精度 (這個(gè)限制很 重要)

                      ? 精度要從左邊開始的第一個(gè)非0的數(shù)字計(jì)算 .

                      字符串的細(xì)節(jié)

                      $a=”hello”;

                      請(qǐng)問 $a 占用了多個(gè)是字節(jié) 5個(gè)字節(jié)

                      一個(gè)字符串類型可以表示多大的串 ?

                      ?理論上,我們對(duì)字符串大小沒有限制,即只有不超過內(nèi)存就可 .

                      ?我們定義字符串的時(shí)候,可以用單引號(hào),也可以使用 雙引號(hào)區(qū)別如下:

                      $i=90;

                      $user1="hello$i";

                      $user2='hello$i';

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

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

                      從上面案例我們看出, 當(dāng)一個(gè)變量包含在 “”號(hào)中時(shí),會(huì)輸出它的值,而包含在??中是輸出其字符本身 .

                      案例2

                      如果字符串是包圍在單引號(hào)(?)中, 除了來處理 ”時(shí),會(huì)輸出 ”外,其它規(guī)則都一樣

                      php數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換

                      php的表達(dá)式

                      所謂表達(dá)式,就是任何有值的東西 .

                      $a=90+89;

                      php的算術(shù)運(yùn)算符

                      + 、 -、*、 / 、%

                      39講 算術(shù)運(yùn)算符? 比較運(yùn)算符 邏輯運(yùn)算符

                      更新時(shí)間:2012年11月08日17時(shí)42分 來源:

                      php的算術(shù)運(yùn)算符

                      + 、 -、*、 / 、%

                      $a=90;

                      $b=7;

                      if($a%$b==0){

                      echo '能整除';

                      }else{

                      echo '不能整除!';

                      }

                      ++ 和 – 快速入門:

                      $a=90;

                      $a++; //等價(jià)于 $a=$a+1;

                      echo $a;

                      $b=89;

                      $b--; //等價(jià)于$b=$b-1;

                      echo '<br/>'.$b;

                      細(xì)節(jié) 我們的++ 和 – 分為前++ 后 ++ , --也分為 前- - 和 后 - -

                      $a=56;

                      $b=$a++;

                      echo $b;

                      echo $a;

                      對(duì)上面代碼的分析如下:

                      $a=56;

                      //$b=$a++; //等價(jià)于 $b=$a; $a=$a+1;

                      $b=++$a; //等價(jià)于 $a=$a+1; $b=$a;

                      echo $b."||"; //-->$b 57

                      echo $a; //-->$a 57

                      

                      左加

                      +=

                      左減

                      -=

                      左乘

                      *=

                      左除

                      /=

                      左取模

                      %=

                      $a=90;

                      $a-=90; //$a=$a-90; echo $a;

                      比較運(yùn)算符

                      

                      案例:

                      $a=2;

                      $b=2.0

                      //只有值相等就為true if($a= =$b){

                      echo?$a==$b?; }

                      //全等,要求$a 和 $b 值和類型要相等

                      if($a= = =$b){

                      }

                      對(duì) != != = 說明

                      //只有值不相等,則為true

                      if($a!=$b){

                      echo '$a!=$b';

                      }

                      //只要值不相等,或者類型不相等,則為true

                      if($a!==$b){

                      echo '$a!==$b';

                      }

                      請(qǐng)編寫一個(gè)程序,該程序可以接收兩個(gè)數(shù)(可以是整數(shù),也可是小

                      數(shù)),并判斷兩個(gè)數(shù)是大于?小于?還是等于?

                      對(duì)應(yīng)的案例:

                      <?php

                      $a=123;

                      $b=90;

                      if($a>$b){

                      echo '$a>$b';

                      }

                      if($a<$b)

                      {

                      echo '$a<$b';

                      }

                      if($a==$b){

                      echo '$a==$b';

                      }

                      ?>

                      邏輯運(yùn)算符

                      

                      要求大家掌握的知識(shí)點(diǎn)有: 搞清每個(gè)邏輯運(yùn)算的規(guī)則 案例

                      $a=10; $b=7;

                      if($a++>8 || $b++>7){

                      echo 'ok!';

                      }

                      echo 'a='.$a.'b='.$b; //把結(jié)果填寫

                      $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 && 都表示邏輯與 ,他們的區(qū)別在什么地方 主要體現(xiàn)在優(yōu)先級(jí)上面

                      and 的優(yōu)先級(jí)

                      and< = <&&

                      or < = < ||

                      配合案例:

                      $e = false || true;

                      $f = false or true;

                      var_dump($e, $f);

                      $e 是 true

                      $f 是 false;.....

                      40講 三元運(yùn)算符 類型運(yùn)算符 運(yùn)算符優(yōu)先級(jí)

                      更新時(shí)間:2012年11月11日18時(shí)53分 來源:

                      php基本語法-三元運(yùn)算符

                      基本語法

                      表達(dá)式1 ? 表達(dá)式2 : 表達(dá)式3

                      規(guī)則:

                      如果表達(dá)式1 的運(yùn)算結(jié)果是 true, 則取 表達(dá)式2 的值,否則,取表達(dá)式3的值.

                      舉例 :

                      <?php

                      $a=90;

                      $b=180;

                      $c=$a>$b? (12-10):"hello,world";

                      echo 'c=='.$c;

                      ?>

                      php 的字符串運(yùn)算符

                      案例:

                      $a="hello,world";

                      $b=123;

                      $c=$b.$a; //$a 具體表示內(nèi)容和 $b 表示內(nèi)容拼接

                      echo $c;

                      從上面案例我們看出, 當(dāng)兩個(gè)變量(基本數(shù)據(jù)類型) 用 . 連接的時(shí)候,就表示把他們的內(nèi)容拼接

                      類型運(yùn)算符(了解)

                      基本語法是: instanceof?? 用于確定一個(gè) PHP 變量是否屬于某一類 class 的實(shí)例,通常在面向?qū)ο箝_發(fā)中可能用的.

                      class Dog{}

                      class Cat{}

                      //創(chuàng)建一個(gè)對(duì)象

                      $cat1=new Cat;

                      //var_dump($cat1 instanceof?? Dog);

                      //在實(shí)際開發(fā)中,我們可能需要去判斷某??個(gè)變量是否是某個(gè)類型

                      if($cat1 instanceof Cat){

                      echo '$cat1 是一只貓';

                      }

                      運(yùn)算符優(yōu)先級(jí)的說明:

                      //****運(yùn)算優(yōu)先級(jí)*****

                      ? 如果將來你們有一個(gè)表達(dá)式很復(fù)雜,建議使用() 來指定其運(yùn)算優(yōu)先級(jí)

                      $a=3;

                      $b=++$a*3;

                      echo $b;

                      

                      41講 順序控制 分支控制(if ifelse switch) 程序流程圖

                      更新時(shí)間:2012年11月16日10時(shí)30分 來源:

                      php程序的三大流程控制

                      ? 順序控制(從上到下,從左到右)

                      $a=7;

                      echo “a=”.a;

                      echo“hello!”;

                      $a++;

                      echo “a=”.a;

                      echo“O(?_?)O”;

                      $a++;

                      echo “a=”+a;

                      所謂順序控制流程,就是不加控制的流程,默認(rèn)情況,會(huì)按照,順序來執(zhí)行你編寫的代 碼

                      ? 分支控制

                      一個(gè)簡(jiǎn)單的定義: 有選擇的來執(zhí)行我們的 代碼.分為 1. 單分支 2. 雙分支 3 多分支

                      1. 單分支的基本語法結(jié)構(gòu)

                      if(條件表達(dá)式 ){

                      語句;

                      //...

                      //....

                      }

                      這里我們,這里的條件表達(dá)式不管多復(fù)雜,最總運(yùn)算的結(jié)果就是 true 或者 false;

                      快速入門:

                      編寫一個(gè)程序,可以輸入人的年齡,如果該同志 的年齡大于18歲,則輸出 “你年齡大于18,要對(duì) 自己的行為負(fù)責(zé) !”

                      $age=7;

                      if($age>18){

                      echo '你的年齡大于18';

                      }

                      2. 雙分支

                      基本語法結(jié) 構(gòu)

                      if(條件表達(dá)式 ){

                      //n多語句;

                      }else{

                      //n多語句;

                      }

                      編寫一個(gè)程序,可以輸入人的年齡,如果該同志

                      的年齡大于18歲,則輸出 “你年齡大于18,要對(duì)

                      自己的行為負(fù)責(zé)!”。否則 ,輸出”你的年齡不 大

                      這次放過你了 .”

                      代碼:

                      $age=4;

                      if($age>18){

                      echo '你的年齡大于18';

                      }else{

                      echo '你的年齡小于18';

                      }

                      echo '<br/>程序結(jié)束!';

                      

                      3. 多重分支

                      基本語法結(jié)構(gòu)是

                      if(條件表達(dá)式 ){

                      //n多語句

                      }else if (條件表達(dá)式 ){

                      //n 多語句

                      }else if(條件表示式 ){

                      //.

                      }//這里可能還有更多的else if

                      else{

                      }

                      ? 對(duì)上面的結(jié)構(gòu)請(qǐng)注意 :

                      (1) else if 可以有一個(gè),也可以有多 個(gè)

                      (2) else 可以沒有

                      快速入門案例 :

                      編寫一個(gè)程序,可以輸入人的年齡,如果該同志

                      的年齡大于18歲,則輸出 “你年齡大于18,要對(duì)

                      自己的行為負(fù)責(zé),送入監(jiān)獄”。如果該同志的年

                      齡大于10歲并且小于等于18,則輸出 “你的年齡

                      也不小了,把你送少管所.”。其它情況,則輸出

                      “小孩子,下次注意”。

                      代碼如下:

                      $age=34;【1】

                      if($age>18【2】){

                      echo '你要被送入監(jiān)獄';【3】

                      }else if($age>10 【4】 && $age<=18【5】){

                      echo '送入少管所';【6】 }else{

                      echo '下次注意';【7】 }

                      echo "over";【8】

                      流程分析圖 :

                      

                      switch分支語句 基本語法結(jié) 構(gòu)

                      switch(表達(dá)式){

                      case 常量1:

                      //n多語句;

                      break ;

                      case 常量2:

                      //n多語句

                      break ;

                      defua l:

                      //n多語句;

                      break ;

                      }

                      ? 請(qǐng)注意:

                      1. case 語句有一到 多2. defaul 語句可以沒有(根據(jù)自己代碼的業(yè)務(wù)邏 輯)

                      3. 通常,在case 語句后,要帶break ,表示退出switch 語句

                      4. 常量的類型 (int, float, 字符串, 布爾型 )

                      快速入門案例 :

                      請(qǐng)編寫一個(gè)程序,該程序 可以接收一個(gè)字符,比如 : a,b,c,d,e,f,g

                      a表示星期一,b表示星期 二 … 根據(jù)用戶的輸入顯 示相依的信息.要求使用 switch 語句完成

                      $myChar="b";

                      switch($myCha r){

                      case "a":

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

                      break ;

                      case "b":

                      echo '今天星期二,猴子當(dāng)小二 ';

                      break ;

                      case "c":

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

                      break ;

                      defau lt:

                      echo '沒有匹配的日期 ';

                      }

                      echo 'okokook';

                      一個(gè)案例:

                      $i=“11“;

                      switch ($i){

                      case 10:

                      echo '10';

                      case 1.3:

                      echo '11';

                      break ;

                      defau lt:

                      echo 'hello ';

                      //break ;

                      case 11:

                      echo '12';

                      break ;

                      }

                      該案例得出一個(gè)結(jié)論 :

                      //最終的結(jié)論是 :

                      首先按照case順序進(jìn)行配置,如果一個(gè)都沒有匹配到,則執(zhí)行 default語句的內(nèi)容,直到遇到break,則退出switch Default語句放置的位置對(duì)執(zhí)行的結(jié)果沒有影響

                      如果$a=”1”,則會(huì)自動(dòng)轉(zhuǎn)化為整型1

                      42講 循環(huán)控制?(for)

                      更新時(shí)間:2012年11月19日15時(shí)24分 來源: 學(xué)生的問題: 老師,說一下if語句和switch的區(qū)別,及應(yīng)用場(chǎng)景 ?;卮? 從我們學(xué)習(xí) if 和 switch 分支看,if 對(duì)某個(gè)范圍的判斷,而switch是對(duì)一個(gè)點(diǎn)的判斷, 所以我們可以這樣去選 擇他們:

                      應(yīng)用場(chǎng)景: 當(dāng)我們 的分支就是幾個(gè)點(diǎn)的時(shí)候(比如判斷坦克的方向),就應(yīng)當(dāng)使用swtich ,如果你的分支是幾個(gè)區(qū)域(范圍)的判斷,

                      則考慮使用 if

                      ? 循環(huán)控制流程

                      首先說 for 循環(huán)控制

                      基本語法結(jié) 構(gòu)

                      for(循環(huán)初值; 循環(huán)的條件; 步長(zhǎng) ){

                      //n多語句;

                      }

                      為什么需要循環(huán)控制 ?

                      問題 : 請(qǐng)輸出9000000句,”你好,北京 ”

                      這樣一問題: 怎樣讓我們的某段代碼,循環(huán)的執(zhí)行

                      分析圖

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

                      echo '<br/>你好,北京';

                      }

                      echo "over";

                      

                      內(nèi)存圖:

                      43講 循環(huán)控制?(while dowhile) 打印金字塔案例

                      更新時(shí)間:2012年11月20日11時(shí)54分 來源:

                      while循環(huán)

                      基本語法結(jié)構(gòu)是

                      while(循環(huán)條件 ){

                      //循環(huán)體 ,語句

                      }

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

                      代碼:

                      //*****while循環(huán)*****

                      $i=0;//$i循環(huán)控制變量

                      while($i<10){

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

                      //這里我們對(duì)循環(huán)控制變量,自增 .

                      $i++;

                      }

                      流程分析圖 :

                      

                      do..while循環(huán)控制

                      基本語法結(jié)構(gòu)

                      do{

                      //循環(huán)體

                      }while(循環(huán)條件 );

                      快速入門: 循環(huán)的顯示 10句,”你好北京 ”;$i=0;【1】//循環(huán)控制變 量

                      do{

                      echo '<br/>dowhile你好北京'.$i;【 2】

                      //對(duì)循環(huán)控制變量修改

                      $i++;【3】//這里有程序員自己控制步長(zhǎng) .}while($i<10【4】 );

                      執(zhí)行的流程圖 :

                      

                      綜合案例:

                      要求:

                      請(qǐng)使用循環(huán)控制語句,輸出一個(gè)空心的菱形 ->兩個(gè)思想

                      1. 死去活來 2.先易后難 3. 建立自己的函數(shù)庫(kù)和工具庫(kù)(積累 )

                      *

                      * *

                      * *

                      * *

                      *

                      但是這個(gè)菱形的層數(shù)可以靈活的變 化.比較困難-------》簡(jiǎn)單化

                      <----

                      ---->

                      案例如下:

                      //打印出金字塔的一半

                      //死去活來

                      //外層的for循環(huán)控制層數(shù)

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

                      //內(nèi)層控制每層*的個(gè)數(shù)

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

                      echo '*';

                      }

                      echo '<br/>';

                      }

                      //打印出整個(gè)金字塔

                      //如果打印3層

                      // * * -> 1 2個(gè)空格 1個(gè)* (1-1)*2+1=1

                      // ** *** -> 2 1個(gè)空格 3個(gè)* (2-1)*2+1=3

                      // *** ***** -> 3 0個(gè)空格 5個(gè)* (3-1)*2+1=5

                      $n=20;

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

                      //在打印*前,先打印空格

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

                      echo " ";

                      }

                      //內(nèi)層控制每層*的個(gè)數(shù)

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

                      echo '*';

                      }

                      echo '<br/>';

                      }

                      請(qǐng)大家打印出一個(gè)空心金字塔

                      *

                      * *

                      ****

                      思路:

                      我們可以這樣考慮,在給每行輸出* 號(hào)的時(shí)候,要有判斷,(該給*號(hào)給*號(hào),該給空格給 空格)

                      思路肯定分析 :

                      和一個(gè)空心的菱形

                      45講 break語句 continue語句 常量

                      更新時(shí)間:2012年11月23日15時(shí)22分 來源:

                      循環(huán)相關(guān)的語句-break

                      基本的概念: 表示結(jié)束當(dāng)前的 for 、 while 、do..while 、switch, 流程, 可以給一個(gè)數(shù)字,表示退出到 第幾層.

                      快速入門案例 :

                      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;

                      結(jié)果是:

                      quit at 5

                      quit at 10 $i=10

                      分析圖:

                      從上面的案例,我們得到幾個(gè)結(jié)論 :

                      1. break語句 默認(rèn)跳出 1層 2. break語句 后面帶的數(shù)字,不能超過實(shí)際可以跳出的循環(huán)層數(shù),否則,會(huì)報(bào) fatal error

                      循環(huán)相關(guān)語句-conti nue

                      基本概念: continue 用于結(jié)束本次循環(huán)剩余代碼,從新開始新的一次循環(huán)(如果條件為真,就繼續(xù)執(zhí)行), continue 后面也可以帶

                      數(shù)字,表示從第幾次循環(huán)重新開始

                      快速入門:

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

                      continue;

                      }

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

                      結(jié)果

                      $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語句我們可以將程序跳轉(zhuǎn)到指定的地方去執(zhí) 行.

                      goto 標(biāo)簽;

                      標(biāo)簽:

                      語句;

                      快速入門案例 :

                      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; 結(jié)果:

                      j = 17

                      php中常量

                      說明:

                      所謂常量,我們可以理解成就是特殊的變量: 體現(xiàn)在

                      1. 定義常量前面不需要 $ 2. 常量一旦定義,則不能修改 其值

                      3. 常量在定義的時(shí)候,就需要它賦初值 .

                      4. 常量可以通過 define 或者 const

                      5. 常量的名稱,我們一般說是 全部大寫,然后用下劃 線間隔6. 什么時(shí)候需要使用常量: 在程序中我們不希望某個(gè)值變化,則考慮使用常量,比如圓周率 ,稅率....

                      快速入門案例 :

                      <?php

                      //第一種方法

                      define("TAX_RATE",0.08);

                      echo TAX_RATE;

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

                      const TAX_RATE2=0.1;

                      echo '-'.TAX_RATE2;

                      ?>

                      46講 函數(shù)基本概念 函數(shù)快速入門

                      更新時(shí)間:2012年11月25日18時(shí)08分 來源:

                      函數(shù)講解

                      提出一個(gè)問題?

                      請(qǐng)大家完成這樣一個(gè)需求:

                      ?輸入兩個(gè)數(shù),再輸入一個(gè)運(yùn)算符(+,-,*,/),得到結(jié)果. 如果我們不考慮使用新??的技術(shù),用我們現(xiàn)在的知識(shí)結(jié)構(gòu),完成 <html>

                      </head>

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

                      <?php

                      //請(qǐng)大家完成這樣一個(gè)需求:

                      //?輸入兩個(gè)數(shù),再輸入一個(gè)運(yùn)算符(+,-,*,/),得到結(jié)果.

                      $num1=34;

                      $num2=90;

                      $oper="-";

                      //$res表示結(jié)果

                      $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 '運(yùn)算符號(hào)有誤!';

                      }

                      echo "計(jì)算結(jié)果是=".$res;

                      ?>

                      </html>

                      從該代碼分析,我們發(fā)現(xiàn),如果別的頁面也需要這樣的功能,則代碼的復(fù)用性不好--->函數(shù)引出

                      現(xiàn)在我們使用函數(shù),來快速體驗(yàn)好處,示意圖:

                      

                      funcs.php (這個(gè)文件,我們定義了一個(gè)函數(shù)) <?php

                      //我們一個(gè)計(jì)算,+ - * / 的代碼集合->函數(shù)

                      //1. function 是一個(gè)關(guān)鍵字

                      //2. jiSuan 函數(shù)名(由程序員取名)

                      //3. $num1,$num2,$oper 是函數(shù)的參數(shù)列表(形參)

                      function jiSua??n($num1,$num2,$oper){

                      //$res 表示計(jì)算的結(jié)果

                      $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 '運(yùn)算符號(hào)有誤!';

                      }

                      //表示返回一個(gè)結(jié)果.

                      return $res;

                      }

                      ?>

                      func01.php (該文件使用到了我們定??義的函數(shù).) <html>

                      </head>

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

                      </head>

                      <?php

                      //引入你需要的php文件

                      require 'funcs.php';

                      //請(qǐng)大家完成這樣一個(gè)需求:

                      //?輸入兩個(gè)數(shù),再輸入一個(gè)運(yùn)算符(+,-,*,/),得到結(jié)果.

                      $num1=34;

                      $num2=90;

                      $oper="*";

                      //以后,要計(jì)算結(jié)果,則可以直接調(diào)用函數(shù)

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

                      echo "計(jì)算結(jié)果是=".$res; ?>

                      </html>

                      討論函數(shù)之細(xì)節(jié),和其運(yùn)行原理

                      自定函數(shù)的基本語法結(jié)構(gòu)

                      //參數(shù)列表,用處是接受數(shù)據(jù).

                      function 函數(shù)名(參數(shù)列表){

                      //函數(shù)體;(完成某一個(gè)功能的指令??集合,這個(gè)必須有)

                      //return 語句; (return 語句主要的用處是返回一個(gè)結(jié)果,這個(gè)可以沒有)

                      }

                      上機(jī)小練習(xí):

                      上次我們

                      定義一個(gè)函數(shù),可以打印不同的圖形

                      function printTest($n,$name){

                      }

                      47講 函數(shù)使用 函數(shù)調(diào)用初步理解

                      更新時(shí)間:2012年11月27日17時(shí)55分 來源:

                      php頁面相互調(diào)用的知識(shí)點(diǎn)

                      目前我們有這樣一個(gè)需求:

                      (1) a.php 頁面要使用 b.php 定義的函數(shù),我們可以使用 如下指令

                      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');

                      //這里就是所謂的調(diào)用函數(shù)->怎樣理解函數(shù)的調(diào)用

                      abc();

                      echo 'hello iii';

                      ?>

                      require 和require_once 區(qū)別 這兩個(gè)區(qū)別為,前者遇到即包含文件,后者會(huì)判斷是否已經(jīng)包含過了,如果包含過了,則不再包含文件。一可以節(jié)省資源,二可

                      以避免重復(fù)定義的錯(cuò)誤。

                      redeclare: 再次聲明.

                      include: 包含,包括

                      舉例說明:

                      include和 include_once的區(qū)別

                      他們的作用和功能都可以把一個(gè)頁面,包含到另外一個(gè)頁面 基本用法

                      <?php

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

                      include?被包含的文件?;

                      include $filePaht;

                      ?>

                      區(qū)別:

                      這兩個(gè)區(qū)別為,前者include遇到即包含文件,后者include_once會(huì)判斷是否已經(jīng)包含過了,如果包含過了,則不再包含文件。

                      一可以節(jié)省資源,二可以避免重復(fù)定義的錯(cuò)誤。

                      證明:

                      再談 include 和 require 區(qū)別 ( 同時(shí) include_once 和 require_once 區(qū)別)

                      相同的地方就是,都是可以引入別的頁面.

                      不同的地方是: include 如果出現(xiàn)了錯(cuò)誤,會(huì)繼續(xù)執(zhí)行,require 出現(xiàn)錯(cuò)誤,則會(huì)終止程序.

                      證明:

                      小結(jié): 我們應(yīng)當(dāng)使用哪個(gè)?

                      我們做項(xiàng)目的時(shí)候,基本上使用的 require_once ? 注意我們的requir_once / require ... 應(yīng)當(dāng)放在 php 最前面.

                      48講 函數(shù)調(diào)用深入理解 函數(shù)使用注意事項(xiàng)?

                      更新時(shí)間:2012年11月29日15時(shí)23分 來源:

                      如何理解函數(shù)的調(diào)用過程

                      <?php

                      //我們一個(gè)計(jì)算,+ - * / 的代碼集合->函數(shù)

                      //1. function 是一個(gè)關(guān)鍵字

                      //2. jiSuan 函數(shù)名(由程序員取名)

                      //3. $num1,$num2,$oper 是函數(shù)的參數(shù)列表(形參)

                      function jiSuan($num1,$num2,$oper){

                      //$res 表示計(jì)算的結(jié)果

                      $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 '運(yùn)算符號(hào)有誤!';

                      }

                      //表示返回一個(gè)結(jié)果.

                      return $res;

                      }

                      $a=12;

                      $b=45;

                      $type="+";

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

                      echo "res=".$res;

                      ?>

                      函數(shù)調(diào)用的流程圖 :

                      

                      一個(gè)通俗理解圖:

                      

                      為了加深大家對(duì)函數(shù)調(diào)用的理解我們,舉例(自己調(diào)用自己的案例)

                      <?php

                      function abc($n){

                      if($n>2){

                      abc(--$n);

                      }else{

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

                      }

                      }

                      abc(4);

                      ?>

                      函數(shù)自己調(diào)用自己-》這個(gè)就稱為遞歸調(diào)用.

                      

                      函數(shù)的深入使用討論

                      函數(shù)的基本結(jié)構(gòu)

                      function 函數(shù)名(參數(shù)列表){

                      //函數(shù)體;

                      //return 語句;

                      }

                      ? 參數(shù)列表可以是多個(gè)參數(shù)

                      ? 參數(shù)可以多個(gè),同時(shí),其數(shù)據(jù)類型可以是php語言支持的任意類型

                      ? 函數(shù)名開頭的字母,以_ 或者 A_Z 或者 a-z ,不要用數(shù)字或者特殊字符開頭

                      ? 函數(shù)名不區(qū)分大小寫 ,這個(gè)與變量不一樣. function Abc(){}

                      和 function abc(){} 是同一個(gè)函數(shù). ? 一個(gè)自定義函數(shù)中的變量是局部的,函數(shù)外不生效

                      案例:

                      function abc3()

                      {

                      $a=45;

                      echo 'a='.$a;

                      }

                      abc3();

                      echo 'aa='.$a;//

                      這里會(huì)報(bào)一個(gè)錯(cuò)誤:

                      Undefined variable: a

                      ? 在php中有三種提示

                      notice : 注意

                      waring: 警告

                      error : 錯(cuò)誤

                      ? 使用global全局變量的時(shí)候,可使用在函數(shù)外的變量

                      案例,和分析圖

                      $a=12;

                      function abc3(){

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

                      $a+=45;

                      }

                      abc3();

                      echo $a;

                      分析圖:

                      

                      49講 函數(shù)使用注意事項(xiàng)? 函數(shù)作業(yè)布置

                      更新時(shí)間:2012年11月30日16時(shí)20分 來源: ? 如果在函數(shù)中,我們不希望使用某個(gè)變量,或者是希望徹底的不再某個(gè)變量,則可以使用 unset(變量名) ; 將該變量徹底

                      刪除.

                      $a=12;

                      function abc3($a){

                      unset($a);//表示不再abc3函數(shù)范圍內(nèi),不在使用$a,后面需要全新定義;

                      $a=45;

                      }

                      abc3($a);

                      echo $a;

                      ? 在php函數(shù)中,我們可以給某些參數(shù),賦一個(gè)默認(rèn)的值. 案例說明:

                      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傳遞變量的時(shí)候,默認(rèn)是值傳遞,如果需要引用(地址)傳遞,可以使用 &變量名;

                      舉例說明:

                      

                      50講 函數(shù)再回顧 自定義函數(shù)

                      更新時(shí)間:2012年12月03日15時(shí)01分 來源: 回顧45講49講函數(shù)內(nèi)容,請(qǐng)參考45講到49講筆記內(nèi)容。

                      函數(shù)分為兩大類

                      ? 自定義函數(shù)

                      自己寫的函數(shù)

                      ? 系統(tǒng)函數(shù)

                      php語句本身給你提供,讓你直接使用的函數(shù), php設(shè)計(jì)者認(rèn)為,在項(xiàng)目開發(fā)的過程,很多人都會(huì)用的一下功能,則就直接提供

                      給你?

                      比如: 我要取一個(gè)數(shù)的絕對(duì)值?

                      <?php

                      funct myAbs($num){

                      if($num<0){

                      return -$num;

                      }else{

                      return $num;

                      }

                      }

                      ?>

                      由系統(tǒng)提供.

                      51講 位運(yùn)算?

                      更新時(shí)間:2012年12月04日17時(shí)47分 來源:

                      位(bit)運(yùn)算

                      二進(jìn)制

                      所謂二進(jìn)制就是逢二進(jìn)一 (0,1), 因?yàn)槭褂枚M(jìn)制只有 0, 1 兩個(gè)數(shù),簡(jiǎn)單,易于電子方式實(shí)現(xiàn) , 同時(shí),通過0,1 組合可以表

                      示任意一個(gè)數(shù).

                      ? 二進(jìn)制有三個(gè)重要的概念

                      1. 原碼

                      用二進(jìn)制來表示一個(gè)數(shù),這個(gè)碼就是原碼.

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

                      2. 負(fù)數(shù)的反碼=它的原碼符號(hào)位不變,其它位取反(0->1,1->0) 反碼(正數(shù)的反碼和它的原碼一樣 , 負(fù)數(shù)反碼 是 符號(hào)位不變其它位取反) 補(bǔ)碼(正數(shù)的補(bǔ)碼和它的原碼一樣,負(fù)數(shù)的補(bǔ)碼是 它的反碼+1) 舉例

                      -1

                      -1的原碼 10000000 00000000 00000000 00000001

                      -1的反碼 11111111 11111111 11111111 11111110

                      -1 的補(bǔ)碼 11111111 11111111 111111111 11111111

                      3. 在計(jì)算機(jī)運(yùn)算的時(shí)候,都是以補(bǔ)碼的方式來運(yùn)算的 4+5=>計(jì)算機(jī) 4-5=4+(-5)

                      這句話意思就是,不管一個(gè)數(shù)是正數(shù)還是負(fù)數(shù),都要被轉(zhuǎn)成補(bǔ)碼,然后進(jìn)行運(yùn)算.

                      位運(yùn)算一覽表

                      

                      該圖的前面四個(gè)是位運(yùn)算

                      其運(yùn)算規(guī)則是:

                      按位與& : 兩位全為,,結(jié)果為1

                      按位或| : 兩位有一個(gè)為1,結(jié)果為1

                      按位異或 ^ : 兩位一個(gè)為0,一個(gè)為1,結(jié)果為1

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

                      看看前面給出的題,是否完成

                      ~2=?

                      步驟 : 首先要求出 2的補(bǔ)碼

                      2是正數(shù) 所以 原碼=反碼=補(bǔ)碼

                      2 原碼

                      00000000 00000000 00000000 00000010

                      ~2

                      11111111 11111111 11111111 11111101 (補(bǔ)碼)->原碼 ? 負(fù)數(shù)的 原碼-》反碼-》補(bǔ)碼

                      11111111 11111111 11111111 11111101-> 推出其反碼 (對(duì)補(bǔ)碼-1)

                      11111111 11111111 11111111 11111100 推出原碼

                      52講 位運(yùn)算?

                      更新時(shí)間:2012年12月06日10時(shí)57分 來源:

                      10000000 00000000 00000000 0000011 -> -3

                      ~-5=?

                      -5 的 補(bǔ)碼找出來.

                      -5 原碼 10000000 00000000 00000000 00000101 -5 反碼 11111111 11111111 11111111 11111010 -5 補(bǔ)碼 11111111 11111111 11111111 11111011 ~-5取反 00000000 00000000 00000000 00000100 (補(bǔ)碼) 4

                      2&3=?

                      2&3 首先要找到 2 和 3的補(bǔ)碼

                      2 的補(bǔ)碼 00000000 00000000 00000000 00000010

                      3 的補(bǔ)碼 00000000 00000000 00000000 00000011

                      2&3 00000000 00000000 00000000 00000010 [補(bǔ)碼

                      2|3=?

                      2 的補(bǔ)碼 00000000 00000000 00000000 00000010

                      3 的補(bǔ)碼 00000000 00000000 00000000 00000011

                      2|3 00000000 00000000 00000000 00000011

                      2^3

                      2 的補(bǔ)碼 00000000 00000000 00000000 00000010

                      3 的補(bǔ)碼 00000000 00000000 00000000 00000011

                      2^3 00000000 00000000 00000000 00000001

                      13&7=?

                      5|4=?

                      -3^3=?

                      位移運(yùn)算

                      在php 中位運(yùn)算有兩種 >> (右移) << (左移)

                      運(yùn)算的規(guī)則是 :

                      算術(shù)右移:低位溢出,符號(hào)位不變,并用符號(hào)位補(bǔ)溢出的高位

                      算術(shù)左移: 符號(hào)位不變,低位補(bǔ)0

                      根據(jù)我們前面的規(guī)范,來完成幾個(gè)案例

                      $a=1>>2;

                      1 的補(bǔ)碼

                      00000000 00000000 00000000 00000001 1>>2

                      00000000 00000000 00000000 00000000

                      $b=-1>>2;

                      步驟 -1 的補(bǔ)碼

                      -1 的原碼 10000000 00000000 00000000 00000001

                      -1 的反碼 11111111 11111111 11111111 11111110

                      -1 的補(bǔ)碼 11111111 11111111 11111111 11111111

                      -1 >> 2

                      11111111 11111111 11111111 11111111 補(bǔ)碼

                      結(jié)果

                      補(bǔ)碼->原碼

                      反碼 11111111 11111111 11111111 11111110

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

                      1<<2

                      1的補(bǔ)碼

                      00000000 00000000 00000000 00000001

                      00000000 00000000 00000000 00000100

                      $d=-1<<2;

                      53講 數(shù)組介紹 數(shù)組的創(chuàng)建 數(shù)組的遍歷

                      更新時(shí)間:2012年12月07日17時(shí)49分 來源:

                      10進(jìn)制->2進(jìn)制

                      7 對(duì) 除 2

                      數(shù)組(重點(diǎn))

                      提出一個(gè)問題?

                      一個(gè)養(yǎng)雞場(chǎng)有6只雞,它們的體重分別是3kg,5kg,1kg,3.4kg,2kg,50kg 。請(qǐng)問這六只雞的總體重是多少?平均體重是多少? 請(qǐng)你

                      用現(xiàn)在掌握的技術(shù)編一個(gè)程序。

                      現(xiàn)在我們使用現(xiàn)有的技術(shù)來解決問題

                      array01.php

                      $hen1=3;

                      $hen2=5;

                      $hen3=1;

                      $hen4=3.4;

                      $hen5=2;

                      $hen6=50;

                      如果我們的變量很多,如果我們分別取變量名,顯示程序無法控制.

                      怎么辦?

                      我們可以使用一個(gè)新的數(shù)據(jù)類型array 數(shù)組,來統(tǒng)一個(gè)管理這一組數(shù)

                      什么是數(shù)組

                      可以用于存放多個(gè)數(shù)據(jù)的數(shù)據(jù)類型,我們稱為數(shù)組 快速體驗(yàn)案例: 用數(shù)組來解決養(yǎng)雞場(chǎng)的問題 //使用數(shù)組來完成案例

                      $hens[0]=3;

                      $hens[1]=5;

                      $hens[2]=1;

                      $hens[3]=3.4;

                      $hens[4]=2;

                      $hens[5]=50;

                      $hens[6]=30;

                      $allWeight=0;

                      //遍歷整個(gè)數(shù)組

                      //有時(shí)為了知道某個(gè)數(shù)組共有多少個(gè)元素,可以使用系統(tǒng)函數(shù)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);

                      小結(jié): 該案例重點(diǎn)說明數(shù)組基本使用,細(xì)節(jié)后面說

                      數(shù)組創(chuàng)建

                      在php中,數(shù)組就是關(guān)鍵字和值的集合, 我們可以這樣創(chuàng)建

                      ? 創(chuàng)建數(shù)組

                      $arr[0]=123;

                      $arr[1]=90;

                      $arr[2]=8;

                      幾個(gè)概念:

                      [0] -> 這個(gè)我們稱為下標(biāo),或者稱為 關(guān)鍵字 $arr[0] -> 這個(gè)稱為數(shù)組的一個(gè)元素. $arr[0]=123; 123 表示該$arr[0]元素對(duì)應(yīng)的值 $arr –》這個(gè)是該數(shù)組的名稱.

                      在php數(shù)組中,元素存放的值可以是任意數(shù)據(jù)數(shù)據(jù)類型 ,

                      舉例說明:

                      <?php

                      $arr[0]=123;

                      $arr[1]="hello";

                      $arr[2]=45.6;

                      $arr[3]=true;

                      $arr[4]=null;//即使放入了一個(gè)null,也要占一個(gè)空間

                      echo "數(shù)組大小".count($arr);

                      //遍歷一下

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

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

                      }

                      ?>

                      ? 創(chuàng)建數(shù)組的第二種方法

                      基本語法

                      $數(shù)組名=array(值,.......);

                      舉例說明:

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

                      //遍歷一把

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

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

                      }

                      ? 第三種方式創(chuàng)建數(shù)組(在默認(rèn)情況下,我們的元素的下標(biāo),是從0開始給你編號(hào),但是實(shí)際上,也可以自己指定)

                      基本語法

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

                      }*/

                      //這個(gè)foreach適用范圍更廣

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

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

                      }

                      54講 數(shù)組的引用 數(shù)組使用細(xì)節(jié)?

                      更新時(shí)間:2012年12月09日20時(shí)22分 來源:

                      ? 注意事項(xiàng)

                      ?如果我們創(chuàng)建一個(gè)數(shù)組的時(shí)候,沒有給某個(gè)元素指定下標(biāo),php就會(huì)自動(dòng)的用目前最大的那個(gè)個(gè)下標(biāo)值(整數(shù)), 加上一作為該

                      元素的下標(biāo)(關(guān)鍵字)

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

                      //我要訪問"logo"這個(gè)值

                      echo $arr[5];

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

                      ?如果我們給某個(gè)元素的下標(biāo)一樣,則會(huì)覆蓋原來的值: $arr=array(5=>"logo",567,90);

                      //我要訪問"logo"這個(gè)值

                      $arr[5]="yes";//替換某個(gè)元素值

                      echo $arr[5];

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

                      ? 如果我們使用true ,false null 作為key, 則應(yīng)當(dāng)怎樣訪問

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

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

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

                      //null<==>""

                      echo $arr[0];

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

                      ?

                      //我們通??梢允褂胮rint_r來顯示這個(gè)數(shù)組情況

                      print_r($arr);

                      echo "<br/>";

                      //var_dump可以更加詳細(xì)的顯示數(shù)組的信息

                      var_dump($arr);

                      ? 訪問數(shù)組的時(shí)候,不要越界比如: $arr=array(56,100,101);

                      echo $arr[2];//數(shù)組越界

                      echo "hello";

                      一維數(shù)組的引用

                      基本語法:

                      $數(shù)組名[鍵值];

                      如果你寫的鍵值不存在,則會(huì)報(bào)告: Notice: Undefined offset

                      一維數(shù)組使用陷阱

                      //*****一維數(shù)組引用陷阱

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

                      echo $arr[bar];

                      這樣使用時(shí)危險(xiǎn)!!!!

                      php的數(shù)組可以動(dòng)態(tài)的增長(zhǎng) $a=array(2,3);

                      //這里說明php的數(shù)組是可以動(dòng)態(tài)增長(zhǎng).

                      $a[3]=56;

                      echo $a[2];

                      php的數(shù)組相關(guān)的函數(shù)說明 ? count 函數(shù)

                      基本用法是

                      count($數(shù)組名); 可以統(tǒng)計(jì)該數(shù)組共有多少元素.

                      ? is_array

                      ? print_r 和 var_dump

                      ? explode 對(duì)字符串進(jìn)行分割 案例:

                      $str="北京&順平&天津&宋江&林沖";

                      //在實(shí)際開發(fā)中,涉及到字符串的拆分,可以考慮

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

                      print_r($arr);

                      php數(shù)組遍歷的四個(gè)方法 ? 如果使用 for while do..while 要確定該數(shù)組的下標(biāo)是從 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;//循環(huán)控制變量

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

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

                      $i++;

                      }

                      //do..while

                      $i=0;//循環(huán)控制變量

                      do{

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

                      $i++;

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

                      //foreach

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

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

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

                      }

                      55講 數(shù)組使用細(xì)節(jié)? 數(shù)組運(yùn)算符 數(shù)組作業(yè)評(píng)講? 數(shù)組小結(jié)

                      更新時(shí)間:2012年12月11日16時(shí)58分 來源:

                      使用unset函數(shù)可以銷毀某個(gè)元素,也可以銷毀某個(gè)變量,銷毀該元素后,關(guān)鍵字不會(huì)重新組合.

                      $arr[0]=123;

                      $arr[1]=456;

                      $arr[2]="hello";

                      //比如現(xiàn)在我要?jiǎng)h除 $arr[1] 元素

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

                      echo $arr[1];

                      unset($arr[1]);

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

                      echo $arr[1];

                      echo print_r($arr);

                      數(shù)組運(yùn)算符(了解即可)

                      

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

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

                      $c = $a + $b; //$b數(shù)組的鍵和值加到$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);

                      數(shù)組的案例:

                      為加強(qiáng)大家對(duì)數(shù)組的理解,我們?cè)俳o大家出一個(gè)題,我們一起完成.在運(yùn)動(dòng)會(huì)上,五個(gè)小孩比賽滑輪,他們的滑完100米,分別用

                      了10s、12s、5.7s、9s、14s,請(qǐng)編寫一個(gè)程序,計(jì)算他們的平均時(shí)間?[array03.php] 時(shí)間保留到小數(shù)點(diǎn)后兩位.

                      <html>

                      <head>

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

                      </head>

                      <body>

                      <h1>請(qǐng)輸入五個(gè)小孩的成績(jī),用空格隔開</h1> <form action="result2.php" method="post"> <input type="text" name="grade"/>

                      <input type="submit" value="開始統(tǒng)計(jì)"/>

                      </form>

                      </body>

                      </html>

                      result2.php

                      <?php

                      //接收用戶提交的學(xué)生的成績(jī)!

                      $grades=$_REQUEST['grade'];

                      //echo 'grade='.$grades;

                      //拆分,對(duì)成績(jī)進(jìn)行分割

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

                      $allGrades=0;

                      //遍歷

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

                      $allGrades+=$v; //隱藏轉(zhuǎn)換 string->float

                      }

                      echo "平均時(shí)間是=".$allGrades/count($grades); ?>

                      如果我要求把兩個(gè)頁面合并到一起.

                      56講 排序介紹 冒泡排序

                      更新時(shí)間:2012年12月13日10時(shí)04分 來源:

                      數(shù)組的排序

                      這里我們介紹一些常用的排序方法, 排序是一個(gè)程序員基本功, 所謂排序就是對(duì)一組數(shù)據(jù),按照某個(gè)順序排列的過程。

                      排序分兩大類:

                      l 內(nèi)部排序

                      (1) 交換式排序法

                      ? 冒泡法

                      基本思想:

                      

                      案例說明:

                      <?php

                      //簡(jiǎn)單的

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

                      //這是一個(gè)中間變量

                      $temp=0;

                      //我們要把數(shù)組,從小到大

                      //外層循環(huán)

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

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

                      //說明前面的數(shù)比后面的數(shù)大,就要交換

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

                      $temp=$arr[$j];

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

                      }

                      }

                      }

                      //輸出

                      print_r($arr);

                      ?>

                      

                      為了更好使用排序,我們將其封裝成一個(gè)函數(shù):代碼如下 : <?php

                      //簡(jiǎn)單的

                      //現(xiàn)在我們把冒泡法封裝成函數(shù),利用以后使用

                      function bubbleSort(&$myarr){

                      //這是一個(gè)中間變量

                      $temp=0;

                      //我們要把數(shù)組,從小到大

                      //外層循環(huán)

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

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

                      //說明前面的數(shù)比后面的數(shù)大,就要交換

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

                      $temp=$myarr[$j];

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

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

                      }

                      }

                      }

                      echo "<br/>函數(shù)中的myarr數(shù)組";

                      print_r($myarr);

                      }

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

                      //使用函數(shù)去排序

                      bubbleSort??($arr);

                      //輸出

                      print_r($arr);

                      ?>

                      ? 從上面的案例我們可以看出

                      * 數(shù)組默認(rèn)傳遞的是值,不是地址

                      57講 選擇排序 插入排序 快速排序

                      更新時(shí)間:2012年12月14日14時(shí)00分 來源:

                      ? 快速排序法

                      快速排序法,我們就介紹了一個(gè)思想:

                      

                      ? 選擇排序法

                      選擇排序法的案例:

                      

                      舉例說明:

                      function selectSort(&$arr){

                      $temp=0;

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

                      //假設(shè) $i就是最小的數(shù)

                      $minVal=$arr[$i];

                      //記錄我認(rèn)為的最小數(shù)的下標(biāo)

                      $minIndex=$i;

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

                      //說明我們認(rèn)為的最小值,不是最小

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

                      $minVal=$arr[$j];

                      $minIndex=$j;

                      }

                      }

                      //最后交換

                      $temp=$arr[$i];

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

                      $arr[$minIndex]=$temp;

                      }

                      }

                      自己分析流程.

                      ? 插入排序法

                      排序思想:

                      

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

                      function insertSort(&$arr){

                      //先默認(rèn)下標(biāo)為0 這個(gè)數(shù)已經(jīng)是有序

                      //1. 知道思想->看懂代碼->寫(靈活)

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

                      //$insertVal是準(zhǔn)備插入的數(shù)

                      $insertVal=$arr[$i];

                      //準(zhǔn)備先和$insertIndex比較

                      $insertIndex=$i-1;

                      //如果這個(gè)條件滿足,說明,我們還沒有找到適當(dāng)?shù)奈恢?/p>

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

                      //同時(shí)把數(shù)后移

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

                      $insertIndex--;

                      }

                      //插入(這時(shí)就給$insertVal找到適當(dāng)位置)

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

                      }

                      }

                      從效率上看.

                      冒泡法< 選擇排序法 < 插入排序法

                      快速排序法.[空間和時(shí)間]

                      58講 順序查找 二分查找

                      更新時(shí)間:2012年12月16日20時(shí)58分 來源:

                      從效率上看.

                      冒泡法< 選擇排序法 < 插入排序法

                      快速排序法.[空間和時(shí)間

                      外部排序 (文件..)

                      因?yàn)閿?shù)據(jù)量大,必須借助外邊文件來完成.

                      查找

                      我們這里給大家介紹 兩種

                      ? 順序查找

                      對(duì)某個(gè)數(shù)組,安裝順序,一個(gè)一個(gè)比較,然后找到你要的數(shù)據(jù).

                      案例:

                      要求從一個(gè)數(shù)組 $arr=array(46,90,900,0,-1)中查找一個(gè) 數(shù) 34,如果查找則輸出該數(shù)的下標(biāo),如果找不到,則輸出,查無此數(shù)

                      代碼:

                      //要求從一個(gè)數(shù)組 $arr=array(46,90,900,0,-1)中查找一個(gè) 數(shù) 34,如果查找則輸出該數(shù)//的下標(biāo),如果找不到,則輸出,查無此

                      數(shù)

                      $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 "找到了,下標(biāo)為=$i";

                      $flag=true;

                      //break;

                      }

                      }

                      if(!$flag){

                      echo '查詢不到';

                      }

                      }

                      search($arr,-1);

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

                      所謂二分查找,它有一個(gè)重要的前提, 該數(shù)組本身已經(jīng)是一個(gè)有序數(shù)組.

                      如果該數(shù)組不是有序的,則必須先排序再查找

                      

                      代碼伺候:

                      //二分查找函數(shù)

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

                      //當(dāng) $rightIndex>$leftIndex 說明沒有數(shù)

                      //為什么

                      if($rightIndex<$leftIndex){

                      echo "找不到該數(shù)";

                      return ;

                      }

                      //找到中間這個(gè)數(shù)

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

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

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

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

                      }

                      //如果是小于中間這個(gè)數(shù),則向前面找

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

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

                      }else{

                      echo "找到這個(gè)數(shù) 下標(biāo)是 $middleIndex";

                      }

                      }

                      59講 多維數(shù)組 數(shù)組作業(yè)評(píng)講?

                      更新時(shí)間:2012年12月17日14時(shí)55分 來源:

                      多維數(shù)組-二維數(shù)組(了解)

                      二維數(shù)組的基本語法:

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

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

                      二維數(shù)組,地圖 ...

                      二維數(shù)組在內(nèi)存中存在的形式:

                      快速入門案例:

                      請(qǐng)用二維數(shù)組,輸出如下圖形

                      0 0 0 0 0 0

                      0 0 1 0 0 0

                      0 2 0 3 0 0

                      0 0 0 0 0 0

                      //定義一個(gè)二維數(shù)組

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

                      //遍歷二維數(shù)組(行)

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

                      //遍歷每行的數(shù)據(jù)

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

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

                      }

                      echo "<br/>";

                      }

                      echo "<br/>".$arr[2][3]; 所謂矩陣轉(zhuǎn)置: (行和列互換)

                      目前有一個(gè)二維數(shù)組

                      1 2 3

                      4 5 6

                      轉(zhuǎn)置

                      作業(yè)評(píng)講

                      ?

                      1( 打印如下圖型:

                      *********

                      *********

                      *********

                      *********

                      *********

                      *********

                      2( 打印如下圖型:

                      *

                      **

                      ***

                      ****

                      *****

                      3( 打印如下圖型:

                      *

                      ***

                      *****

                      *******

                      *********

                      2. 空心金字塔

                      3. 空心菱形

                      定義一個(gè)函數(shù)

                      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"> 請(qǐng)輸入層數(shù):<input type="text" name="layer"/><br/> 請(qǐng)選擇形狀:

                      <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表示層數(shù)

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

                      }

                      }

                      //調(diào)用

                      printShape($n,$shape);

                      ?>

                      1. 已知手掌游戲機(jī)一臺(tái)320元,mp3一臺(tái)260元。 公司舉行抽獎(jiǎng)大會(huì),公司有18人,一等獎(jiǎng)游戲機(jī),二等獎(jiǎng)mp3,

                      購(gòu)入5臺(tái)游戲機(jī),13臺(tái)mp3。

                      問總價(jià)為多少,公司實(shí)際平均給每人花費(fèi)了多少錢。(4980,276.6666)

                      <?php

                      $gamerPrice=320;

                      $mp3Price=260;

                      $gamerNum=5;

                      $mp3Num=13;

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

                      $avgPrice= $totalPrice/ 18;

                      ?>

                      1. 跳水比賽,8個(gè)評(píng)委打分。運(yùn)動(dòng)員的成績(jī)是8個(gè)成績(jī)?nèi)〉粢粋€(gè)最高分,去掉一個(gè)最低分,剩下的6個(gè)分?jǐn)?shù)的平均分就是

                      最后得分。使用一維數(shù)組實(shí)現(xiàn)打分功能。 解題:

                      <?php

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

                      //這里有一個(gè)思路,如果只想知道最低分和最高分是多少,則可以排序.

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

                      //該函數(shù)可以返回給出最低分的裁判的下標(biāo)

                      function findMin($arr){

                      //假設(shè)第一個(gè)人就是給出最低分的裁判

                      $minFen=$arr[0];

                      $minIndex=0;

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

                      //如果下面條件成立,說明$i 裁判給出的成績(jī)更低

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

                      $minFe=$arr[$i];

                      $minIndex=$i; }

                      }

                      return $minIndex; }

                      ?>

                      


          名易MyHMS酒店綜合管理系統(tǒng)名易MyCRM客戶關(guān)系管理軟件
          資產(chǎn)管理軟件用品管理軟件
          車輛管理軟件會(huì)議管理軟件
          PHP應(yīng)用中的八種常見文件操作方式PHP入門的學(xué)習(xí)方法
          php語言入門教程對(duì)php編程語言的理解
          PHP語法總結(jié)PHP編程風(fēng)格
          PHP基本語法PHP簡(jiǎn)單介紹
          php程序員PHP緩存服務(wù)器之Redis
          信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
          • 勁爆價(jià):
            不限功能
            不限用戶
            1998元/年

          • 微信客服

            <output id="r87xx"></output>
          1. 
            
            <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
              • 亚洲成人影片在线点播 | 99re视频 | 性爱av无码 | 欧美成人网在线 | 欧美十八禁网站 | 美女喷水网站 | 国产日皮视频免费观看 | 亚洲操片免费看 | αv天堂αv电影亚洲ωa | 青青国产视频 |