循環相關的語句 breakphp
基本的概念:表示結束當前的for、while、do...while、switch,流程,能夠給一個數字,表示退html
出到第幾層。程序員
快速入門案例:函數
for($i=0;$i<13;$i++){ echo'$i='.$i."<br/>"; if($i==10){ break; } }
快速入門的案例2:ui
$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;
結果是:spa
quit at 5code
quit at 10htm
$i=10遞歸
分析圖:utf-8
從上面的案例,咱們獲得幾個結論:
break 語句 默認跳出1層
break 語句, 後面帶的數字,不能超過實際能夠跳出的循環層數,不然,會報fatal error
循環相關語句-continue
基本概念: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中的常量
說明:
所謂常量,咱們能夠理解成就是特殊的變量:體如今
定義常量前面不須要S;
常量一旦定義,則不恩可以修改其值
常量在定義的時候,就須要它賦值。
常量能夠經過define 或者 const
常量的名稱,咱們通常說是所有大寫,而後用下劃線間隔
何時須要使用常量:在程序中咱們不但願某個值變化,則考慮使用常量,好比圓周率,稅率
快速入門案例:
<?php //第一種方法 define("TAX_RATE",0.08); echo TAX_RATE; //第二種方法(php5.3) const TAX_RATE2=0.1; echo '-'TAX_RATE2: ?>
函數講解
提出一個問題?
請你們完成這樣一個需求:
①輸入倆個數,再輸入一個運算符(+,-,*,/),獲得結果。
若是咱們不考慮使用新的技術,用咱們如今的知識結構,完成
<html> <head> <meta http-equiv="content" 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是一個關鍵字 //jisuan函數名(由程序員取名) //$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; } ?>
func()1.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($unm1,$num2,$oper); echo"計算結果=".$res; ?> </html>
談論函數之細節,和其運行原理
自定函數的基本語法結構
//參數列表,用處是接受數據
function 函數名(參數列表){
//函數體;(完成某一個功能的指令集合,這個必須有)
//return 語句;(return 語句主要的用處是返回一個結果
,這個能夠沒有)
}
練習:定義一個函數,能夠打印不一樣的函數
function printTest($n,$name){
}
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 inclue('被包含的文件'); include '被包含的文件'; include $filePath; ?>
區別:
這倆個區別爲,前置include 遇到即包含文件,後者include_once 會判斷是否已經包含過了,
若是包含過了,則再也不包含文件。一 能夠節省資源,二 能夠避免重複定義的錯誤。
證實:
再談include 和 require 區別(同時 include_once 和 require_once 區別)
相同的地方就是,都是能夠引入別的頁面
不一樣的地方是:include 若是出現了錯誤,會兒繼續執行,require 出現錯誤,則會終止程序。
證實:
小結:咱們應當使用哪一個?咱們作項目的時候,基本上使用的require_once
->注意咱們的require_once/require .....應當防在php最前面
如何理解函數的調用過程
<?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; $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;//我要在abc中使用到外層$a; $a+=45; } abc3(); echo $a;
分析圖:
⑦ 若是在函數中,咱們不但願使用某個變量,或者是但願完全的再也不某個變量,則能夠
使用 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 傳遞變量的時候,默認是值傳遞,若是須要引用(地址)傳遞,可使用&變量名;
舉例說明;
①②③④⑤⑥⑦⑧⑨⑩