PHP學習筆記(2)

2021-09-18 06:46:38 字數 4234 閱讀 2744

function 函式名()

函式的呼叫:

呼叫函式時應與寫的函式相對應

在函式內定義,僅在某個函式內有效

在函式外定義,從定義處開始到整個php的末尾都可以使用,但如果在函式內使用必須用global宣告變數

在函式內定義,使用static關鍵字來定義

對形式引數的操作,根本不會影響到實際引數的值

對形參的操作就等於對實參的操作

在形參傳入時直接給其賦值,賦值的方法是從從右往左賦值,先給右邊的引數賦值,才能給左邊的賦值。

php自己提供的,可直接使用。

func_get_args();//顯示傳入各個引數的值和型別,也可進行其他的操作

func_get_arg();//呼叫時可以傳入乙個值表示獲取第幾個傳入的實際引數

func_num_args();//返回傳入自定義函式的引數的個數

這三個函式可以使用在我們自定義函式內,能返回一些有關引數的資訊

直接把函式賦值給變數

遞迴函式即在函式內自己呼叫自己的函式。

1、函式在被呼叫的執行過程中會在記憶體裡面分配空間用於儲存臨時資料,所以函式在執行過程中預設他們之間沒有聯絡,裡面的變數預設是區域性變數,相互沒有影響

2、遞迴函式在函式內部需要有適時結束函式執行的條件

php提供的函式或結構

陣列定義方法一:

$變數名[索引值]=具體的值

(索引值可以為數字也可以為字串)

如果省略索引值不寫,則預設索引值從0開始,依次增大

需要用print_r()來輸出

陣列定義方法二:

$變數名=array(值1.值2,....);

給某個索引值對應的變數賦值

$變數名=array(

索引值1=>值1,

索引值2=>值2,

索引值3=>值3,

)

二維陣列:

#變數名=array(

索引值1=>array(值1-1,值1-2,值1-3,...)

索引值2=>array(值2-1,值2-2,值2-3,...)

索引值3=>array(值3-1,值3-2,值3-3,...)

...//索引值也可省略不寫,則預設從0開始,依次增大

)訪問數值的方法

變數名稱[索引值][索引值]

遍歷陣列:每個都經歷一遍的意思

1)for迴圈

for($i=0;$i但這種方法有bug,沒法遍歷關聯陣列,所以不常用。

2)foreach語句

foreach(陣列變數 as 變數1)

foreach($arr1 as $value)

foreach(陣列變數 as 變數1=>變數2)

foreach($arr1 as $key=>$value)

遍歷有規律的二維陣列時,用foreach巢狀即可

foreach($arr as $val1)

foreach($val1 as $val2)

以**的形式列印二維陣列

$students=array(

array('姓名1',1,男,60.5),

array('姓名2',2,女,70.5),

array('姓名3',3,男,80.5),

);echo '';

foreach($students as $val)

";} echo '';

已經定義好了(存在)的變數(存放的資料的型別是陣列)。

超全域性:超級全域性變數,作用域(有效區域)!

傳遞資料(提交資料)給伺服器端主要兩種方式:

1、get方式

傳遞方法:

在網域名稱後輸入?引數名=引數值

接受方法:

在伺服器端(請求的php檔案這邊)可以通過$_get來獲取到

(但這種方法不安全,適合傳輸一些比較小的資料)

2、post方式

一般用$_post來獲取

這些函式都是php為已經為我們提供的,不需要背,只要會通過查手冊來使用即可

陣列函式手冊**:

1)trim()

trim($字串名稱,"char");

char為你要去除的字元,如果省略,就是去除首尾的空白

2)ltrim()//去除字串左邊的字元或空白

3)rtrim()//去除字串右邊的字元或空白

1)strtoupper()//將字串轉化為大寫

strtoupper($字串名稱);

2)strtolower()//將字串轉化為小寫

strtolower($字串名稱);

1)substr_count()//計算字串出現的次數

substr_count($字串,$needle);

substr_count($字串,$needle,$offset,$length)

/*needle(char):要查詢的字元或字串

offset(int):從第第幾位開始查詢(從0開始數)

length(int):從開始查詢的位置開始向後查多少位

該函式返回的是整型

*/2)strpos()//查詢字串首次出現的位置

strpos($字串名稱,$needle)

strpos($字串名稱,$needle,$offset)

/*needle(char):要查詢的字元或字串

offset(int):從第第幾位開始查詢(從0開始數)

該函式返回的值可能是整型,也可能是布林型別的false(當返回的值為0時)

*/3)strstr()//查詢字串的首次出現

strstr($字串名稱,$needle)

strstr($字串名稱,$needle,before_needle)

/*needle(char):要查詢的字元或字串

該函式返回字串,該字串為needle(char)及其後面的內容

before_needle:如果為true,則返回needle(char)之前的內容(不包括needle(char))

*/

1)str_replace()//子字串替換

str_replace($search,$replace,$str)

str_replace($search,$replace,$str,$count)

/*search(char):要替換的字元

replace(char):要替換成的字元

count(int):替換的次數

也可以用陣列一次替換多個字元

str_replace(array('c1','c2','c3'),array('d1','d2','d3'),$str)

str字串中的c1,c2,c3會被替換成d1,d2,d3

該函式返回字串

*/

1)htmlspecialchars()//將特殊字元轉換為 html 實體

2)strip_tags()//從字串中去除 html 和 php 標記

1)substr()//返回字串的子串

substr($str,$start)

substr($str,$start,$length)

/*str:傳入的字串

start(int):從此處開始擷取(從0開始數),若為負數則從尾開始數

length(int):返回的字串的長度

*/

1)explode()//使用乙個字串分割另乙個字串

explode($delimiter,$字串名稱)

explode($delimiter,$字串名稱,$limit)

/*delimiter(char):從此字元處分割

limit(int):限制分割的次數,分割limit-1次

*/2)str_split()//將字串轉換為陣列

str_split($字串名稱,$split_length)

/*split_length:每個轉換成的陣列中的元素有多少個字元

返回乙個陣列

*/字串處理手冊**:

PHP學習筆記(2)

wamp就是windows apache mysql php整合安裝環境,即在window下的apache php和mysql的伺服器軟體。安裝目錄自選,我選擇e php,目錄下自動包含生成wamp目錄 修改apache的配置檔案httpd.conf。檔案所在路徑 wamp bin apache2....

php 學習筆記2

陣列 陣列操作符 prices products,陣列products 被附加到prices中,但是任何關鍵字衝突的元素不會被新增 多維陣列 multpro array array tir tiresf 100 array oil oil 100 array spk spark plugs 4 陣列...

php學習筆記2

檔案管理系統 path get path if empty path path filterlist array filesystem.php filename trim path,get name switch get action else echo filename break case ed...