PHP-自定義數組-預定義數組-自定義函數-預定義函數


(1)自定義數組 —— 項目中的重點

(2)PHP預定義數組 —— 重點&難點

(3)自定義函數 —— 了解

(4)PHP預定義函數 —— 項目中的重點

 

 

1.自定義數組

  數組array,一個可以保存多個數值的變量

  定義一個數組

   $ageList = [ 20, 38, 25, 37 ];

$nameSet = [ 'Tom', 'Mary', 'King' ];

$isMarriedArr = [ true, false, false, true ];

  輸出整個數組不能用echo,要用var_dump();

  獲取數組中元素的個數(數組的長度)

echo  count($ageList);

  操作某個元素:

echo  $nameSet[ 1 ];

$nameSet[ 1 ] = 'Maria';

  一個數組中追加新元素

$nameSet[  ] = 'Scott';    #PHP會自動為新元素分配下標

[ ]運算符的三種用法:

(1)創建新數組:   $arr = [ 10, 30, 50 ];   

(2)訪問某個已有元素:  $arr[2] = 35;

(3)向數組中追加新元素:   $arr[ ] = 75;

練習:創建一個數組保存3個筆記本的標題,使用循環輸出數組中每個元素。再數組中追加2個新的筆記本信息,使用循環輸出數組中每個元素。

 

PHP中數組的兩種類型——重要知識點:

(1)索引數組:每個元素的下標是數字,形如0/1/2/3....

$arr = [10, 30, 50, 60];

$emp = [3051, 'Tom', 6000, true];

(2)關聯數組每個元素的下標是自定義的字符串

$emp = [ 'eid'=>3051,  'ename'=>'Tom',   'salary'=>6000,  'isMarried'=>true ];

結論:索引數組適合於存儲多個相同含義的數據,如10個員工的姓名;關聯數組適合於存儲多個不同含義/類型的數據,如一個商品的多個信息

 

練習:創建一個數組,保存學子商城中一個用戶的信息,包含編號、用戶名、性別、是否在線。

練習:創建一個數組,保存學子商城中一個用戶的信息,包含編號、用戶名、性別、是否在線。

練習:創建一個數組,保存學子商城中一個用戶的信息,包含編號、用戶名、性別、是否在線。

練習:創建一個數組,保存學子商城中一個用戶的信息,包含編號、用戶名、性別、是否在線。

練習:創建一個數組,保存學子商城中一個用戶的信息,包含編號、用戶名、性別、是否在線。

練習:創建一個數組,保存上述五個用戶。

$userList = [ $user0, $user1, $user2, $user3, $user4 ];

$userList = [  [ ], [ ], [ ], [ ], [ ]  ]; 二維數組

 

午間練習:循環執行把上述二維數組的每個用戶信息輸出到一行

 

 

2.PHP中的循環結構 —— foreach循環 —— 了解

  foreach"為了每一個",針對數組中每一個元素,執行一次循環體——只能用於遍歷數組。語法

  foreach( $數組  as  $變量 ){

 #循環主體

  }

  foreach( $數組  as  $下標變量名=>$元素變量 ){

 #循環主體

  }

 

$arr = [ 10,  30,  50,  70 ];

foreach( $arr  as  $v ){

echo  $v;

}

---------------------------------------

$v = 10;  執行一次循環主體;

$v = 30;  執行一次循環主體;

$v = 50;  執行一次循環主體;

$v = 70;  執行一次循環主體;

循環結束。

練習:創建一個數組,保存4個員工的姓名,使用foreach循環遍歷出每個元素。 —— foreach可以遍歷索引數組

 

練習:創建一個數組,保存一個筆記本信息包括:編號、標題、價格,是否特價。使用foreach遍歷輸出每個元素的值。—— foreach可以遍歷關聯數組

 

for循環

foreach循環

能遍歷索引數組嗎

$arr=[10, 30, 50];

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

  echo $arr[$i];

}

foreach($arr as $v){

  echo $v;

}

可以跳序遍歷嗎?

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

  echo $arr[$i];

}

不能

可以倒序遍歷嗎?

for($i=10; $i>=0; $i--){

  echo $arr[$i];

}

不能

能輸出1~10嗎?

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

  echo $i;

}

不能

能遍歷關聯數組嗎

$u=['uid'=>10, 'uname'=>'tom']

不能

foreach($u as $v){

  echo $v;

}#項目中此用法很少!

 

 

3.PHP中的預定義數組變量

  預定義變量:由PHP解釋器自動為每個PHP文件創建的變量,程序員可以直接使用,無需自己手工聲明。如下

  $_REQUEST:請求( request ),用於封裝客戶端發給服務器請求數據

  $_GET

  $_POST

  $_FILES

  $_COOKIE

  $_SESSION

初始情況下,上述幾個變量都是關聯數組 array(0){ }

  

(1)客戶端瀏覽器如何給服務器發送請求數據——瀏覽器用戶

   http://127.0.0.1/login.php?n=tom&p=123

   頁面地址后的?k=v&k=v字符串稱為查詢字符串”/“請求參數

(2)WEB服務器會如何處理客戶端提交的請求數據呢?——WEB服務器

   $_REQUEST = [ ];

   $_REQUEST['n'] = 'tom';

   $_REQUEST['p'] = '123';

(3)程序員編寫的頁面如何獲取請求數據呢?——程序員

   echo   $_REQUEST[ 'n' ];

   echo   $_REQUEST[ 'p' ];

 

練習創建add.php,客戶端訪問此頁面時需要提交num1、num2和num3三個數據,服務器端頁面接收這三個數據,向客戶端輸出三個請求數據的整數和。

練習:創建star.php,接收客戶端提交的rows和cols兩個請求數據,根據這兩個數據輸出指定行數和列數的※

練習:創建sum.php,接收客戶端提交給服務器的start和end兩個請求數據,服務器端頁面輸出從start到end的累加和

 

4.PHP中函數基本概念

  Function函數功能體接收一些處理的數據(稱為參數),加以執行處理,得到特定的結果 —— 並可以反復多次執行。

程序員最怕的事情:Ctrl+C/V代碼 —— 代碼的可維護性差!

使用函數封裝需要反復多次執行的代碼!

  創建一個最簡單函數:

function  函數( ){

#函數中要執行的所有代碼

}

  運行/執行一次函數:

函數( ) ;   #()表示“執行

  創建一個可以接收運行參數的函數:   

function  函數( $變量1, $變量2, .... ){     #形式參數

#函數中要執行的所有代碼

}

  運行/執行一次函數:

函數, 值, .... ) ;   #實際參數

 

 

練習:創建一個函數getScore(),其中聲明三個變量,分別表示語文、數學、英語的成績,輸出三科總分。調用此函數三次。

練習:創建一個函數printStar(),其中輸出一個5行10列的※矩陣。調用此函數三次。

 

 

課后練習:

函數練習

(1)創建一個函數getSum(),接收三個數字做參數,函數體中計算出這三個數字的代數和,並輸出。調用此函數三次,每次調用傳遞不同的實參值。

(2)創建一個函數getAvg(),接收三個數字做參數,函數體中計算出這三個數字的平均值,並輸出。調用此函數三次,每次調用傳遞不同的實參值。

數組練習:

(1)創建一個數組,保存學子商城中一個用戶的信息,包含用戶編號、用戶名、密碼、郵箱、手機、頭像、性別

(2)再創建一個數組,保存學子商城中一個用戶的信息,包含用戶編號、用戶名、密碼、郵箱、手機、頭像、性別

(3)再創建一個數組,保存學子商城中一個用戶的信息,包含用戶編號、用戶名、密碼、郵箱、手機、頭像、性別

(4)再創建一個數組,保存學子商城中一個用戶的信息,包含用戶編號、用戶名、密碼、郵箱、手機、頭像、性別

(5)創建一個空數組上述四個商品的數據保存其中;輸出這個大數組中的所有數據 —— 盡可能漂亮的輸出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM