首頁 後端開發 php教程 php學習 陣列課件

php學習 陣列課件

Dec 19, 2016 pm 01:36 PM
php

下標:數組中的識別名稱 也就是字串或整數在數組中的代號 

數組中有幾個索引值就稱為幾維數組。 
索引值:索引是將資料庫表中一列或多列的值進行排序的結構。 

    數組分類 
在PHP數組分為兩種: 
索引數組:索引(indexed)索引值為整數,以0開始,當透過位置來識別東西時用索引數組。 
關聯數組:關聯(associative)關聯以字串做索引值,索引值為列名,用語存取列的資料。

    數組通常用賦值的方式 
一般情況下數組賦值有兩種方式: 
$a[1]="dsadsadsa"; 
$b[2]="dsadsadsad"; array("dsads","dsadsa",321312); 
一維數組:數組的索引值(下標)只有一個的時候稱為一維數組。
數組直接賦值的格式: 
$數組變數名稱[索引值]=資料內容; 
注意:索引值可以是字串也可以是整數  但是1與「1」是不同的 它們一個屬於整數一個屬於字串。 

同名沒有給予索引值的陣列是依照順序排列的。
實例: 
      $a=array(1,2,3,4,5,6); 
    $b=array( (0=>"aaa",1=>"bbb",2=>"ccc"); 
    $d=array("aaa",6=>"bbb","ccc"); 
    $e=array ("name"=>"zhang", "age"=>20); 
  ?> 
    二維陣列 
多維數組的格式: 
$a[0][]="dsadas"; []="dsadsa";  這組是$a下的0索引值下的1和2 
如果用array函數宣告格式如下: 
$a=array("dsadsa","dsadas",21,array(" dsadsa","dsadas")); 

    數組的遍歷 
foreach循環結構: 
foreach 僅使用與數組的循環 ) as $key=>$value); 
第一種格式遍歷給定了array_exprssion陣列。每一次循環中目前的值都被賦給我$calue,並且數組內部的指標向前移動一步。 
第二種格式做同樣的事,只除了目前單元的鍵值也會在每次循環中被賦給變數 $key。  
當 foreach 開始執行時,陣列內部的指標會自動指向第一個單元。另外注意foreach 所操作的是指定數組的一個拷貝,而不是該數組本身 
  $arr=array(10,20,30,40,50,60); 
  foreach($arr asv $k=>$5) { 
    echo "$k=>$v
"; 
  } 

輸出結果:0=>10 1=>20 2=>30 3=>40 4=>60/50 4=>60/50 4=>60/50 4=>60/5 =>整數 
    合併使用list(),each()與while循環 
each(): 
  $arr=array(1,2,3,4,5);  print_$a=each($arr); ($a); 
輸出結果:Array ( [1] => 1 [value] => 1 [0] => 0 [key] => 0 )  
標取陣列第一位的值取數組第一位的值取值下標list(): 
  $arr3=array("a","b","c");     
  list($key,$value)=each($arr .$value; 
輸出結果:0 a     list()可說是用一步操作給一組變數賦值 僅能用於數字索引的陣列並假定數字索引從 0 開始。
while循環 
  $arr=array(1,2,3,4,5,6,7,8,9,); 
  while(list($key,$value)=each($arr key++; 
      echo $key."=>".$value; 
      echo "
"; 
  }輸出結果:1=>1 2=>2 3=>3 4=>4 5=>5 6=>6 7=>7 8=>8 9=>9 
reset()陣列指標重新導向 
在執行each() 之後,陣列指標將停留在陣列中的下一個單元或碰到陣列結尾時停留在最後一個單元。
is_array偵測變項是否為陣列真回傳ture假false 
  $arr=array(1,2,3,4,5,6,"saas"); 
  while(list($k,$v)$ = 
  while(list($k,$v)$ = each(  while(list($k,$v)$ = each( arr)) 
  { 
    if(is_array($arr)) 
    { 
       } 
    else 
    { 
      $x += $k; 
    }不能完全體現is_array的功能,但可以參考。
    數組的指標 
next():負責將指標向後移動 
prve():負責將指標向前移動 
end():會將指標指向陣列最後一個元素 
reset():將目前指標條件移至第一個索引位置 
語法格式:mixed next(陣列名稱) 
  $arr=(array(1,2,3,4,5)); 
  echo end($arr); 
輸出結果:5 )與current()和count() 
key()的函數是讀取目前指標所指向的資料的索引值。 
current()的函數則是讀取目前指標所指向資料的內容資料。 
count()的函數是用來計算數組中所有元素的個數,也就是說函數會傳回目標數組的長度值。
格式:int count(陣列名稱); 

key():從關聯陣列取得鍵名 
$array = array('fruit1' => 'apple','fruit2'fr=> 'orange','fruit33' => 'grape','fruit4' => 'apple','fruit5' => 'apple'); 
  while ($fruit_name = current($arra
        echo key($array).'
'; 
      ) 
     

current():傳回陣列中的目前單元 
  $transport = array('foot', 'bike', 'car', 'plane'); 
  $mode = current($transport); // $mode = 'foot / $mode = 'bike'; 
  $mode = current($transport); // $mode = 'bike'; 
   $mode = end($transport);     // $mode = 'plane'; 
  $mode = current($transport); // $mode  'plane'; count:計算陣列中單元的數量 
  $arr=array(1,2,3,4,5,6); 
  echo count($arr); 
輸出結果:6 

_名全為小寫或大寫的陣列 
其中包含的形態函數有兩個[CASE_UPPER]轉換為大寫,[CAS_LOWER]轉換為小寫。
  $input_array = array("FirSt" => 1, "SecOnd" => 4); 
  print_r(array_UP_key_case($input_array,  print_r(array_) [SECOND] => 4 )  

    array_chunk() 
array_chunk()次函數會將目標陣列的資料內容,以指定索引個數,分解成數個小型陣列包含在原始陣列中。 
  $arr=array(1,2,3,4,5,6); 
  $a=array_chunk($arr,3); 
  print_r($a); 
產出結果:Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [1] => Array( => 3 ) [1] => Array( => 3 ) [1] [2] => 6 ) ) 
也就是等於使用陣列個數的總和除以3 

    array_count_values 
array_count_values _hamp來計算數字組中各值出現的數字次數:數字組所傳回結果值,會以原數組的內容資料作為索引,以數組的形態表現。
  $arr=array(1,2,3,3,2,6); 
  print_r(array_count_values($arr)); 
輸出結果:Array ( [1] => 1 
輸出結果:Array ( [1] => 1 [2]2]25] => 2 [6] => 1 )  

  array_fill 
array_fill讓使用者自訂數值,填滿目標陣列中指定的索引區段。 
語法格式:array_fill(起始索引位置,區段大小,指定字元) 
其中起始索引位置與區段大小必須為integer(整數)形態數值,且區段大小指定不得為0。
  $a = array_fill(5, 6, 'banana'); 
  print_r($a); 
輸出結果:Array([5]   > banana[9]  => banana[10] => banana) 

    array_filter 
array_filter依序傳遞目標陣列中每個數值的使用者自訂函數。如果使用者自訂函數傳回 TRUE(真 
),則 input 陣列的目前值會包含在傳回的結果陣列中。數組的鍵名保留不變。
語法格式:array_filter(目標陣列,使用者自訂函數) 
  function odd($var) 
  { 
     return ("a"=>1 , "b"=>2, "c"=>3, "d"=>4, "e"=>5); 
  print_r(array_filter($array1, "odd")); 
輸出結果:Odd : Array([a] => 1[c] => 3[e] => 5) 
  $entry = array(0 => 'foo',1 => false,2 => => 'foo',1 => false,2 => -13, 4 => ''); 
  print_r(array_filter($entry)); 
  print_r(array_filter($entry)); 
  print_r(array_filter($entry)); 
  print_r(array_filter($entry)); 
產出結果Array([0] =>foo[2] => .
    array_flip 
array_flip將目標數組中的索引與內容值,作反相的處理,反相後的數組會以原始內容值作為索引,而索引作為資料內容. 
array_flip語法格式:交換數組中的鍵和交換數組中的鍵和鍵數值 
array_flip(目標陣列) 
  $trans = array("a" => 1, "b" => 1, "c" =>  $p ); 
輸出內容:Array([1] =>b[2] =>c) 
如果同一個值出現了多次,則最後一個鍵名將作為它的值,所有其它的都丟失了。 

    array_sum 
array_sum用來計算所有元素值在陣列中的總和。 
文法格式:array_sum(目標陣列) 

    array_unique 
array_unique用來除區目標陣列中重複的資料,運算後傳回新的數值。 

    array_keys與array_values 
array_keys此函數將忽略原始的鍵名,並使用順序的數字重新以數組重新索引,針對關聯數組。 
array_values此函數傳回一個包含數字或字串的鍵名陣列。傳回 input 數組中所有的值並給其建立數字索引。
  $arr=array("a"=>1,"b"=>2,"abc",2); 
  $b=array_keys($arr);   
  $c=array_values($arr);   
  $c=array_values(arr); :$b=Array ( [0] => a [1] => b [2] => 0 [3] => 1 )  
2] => abc [3] => 2 )  

    數組的檢索 
對數組的檢索,且主要指對數組的鍵名或元素值進行判斷,從而確定具有與某個數組元素的存在與否。
語法格式:bool in_array(mixed $needle, array $haystack[,bool $strict]); 
  $arr3=array(1,2,3,"hello","wprld"); $arr3=array(1,2,3,"hello","wprld"); $arr3=array(1,2,3,"hello","wprld"); hell",$arr3,true); 
  var_dump($b);   
  $arr4=array(1,2,3,array("hello","world")); 
 $b=in_array($b=inhello($b ","world"),$arr4); 
  var_dump($b); 
輸出結果:bool(false) bool(true)  

    數組與變量之間進行轉換函數與comp
(    數組與變數之間進行轉換函數與comp變數之間轉換。 
轉換後, 數組元素的鍵名與變數名,以及元素的值與變數的值保持對應的關係。
extract這個函數用來將變數從陣列倒入目前符號表中 
  $info = array("user_id"=>2006001,"user_name"=>"佟香玉", "position"=>"專案經理");
  extract($info); 
  echo $user_id; 
輸出結果:2006001 
compact()接受變異的參數數目。每個參數可以是一個包含變數名稱的字串或是包含變數名稱的數組,該數組中也可以包含其它單元內容為變數名稱的數組, compact() 可以遞歸處理。
  $city  = "San Francisco"; 
  $state = "CA"; 
  $event = "SIGGRAPH"; compact("event", "nothing_here",$location_vars); 
  print_r($result); 
輸出結果:Array ( [event] => SIGGRAPH [city] 
array_push()函數將一個或多個元素壓入數組堆疊的末尾(入棧),並傳回入棧元素的數量。 
array_pop()函數將陣列堆疊的最後一個元素彈出,並將該元素傳回。
範例array_push 
  $a=array("dsa","dsas","dfs","gfd"); 
  array_push($a,"print","dfd"); 成績:Array ( [0] => dsa [1] => dsas [2] => dfs [3] => gfd [4] => dfy [5]且有示範者嘗試創造數字返回患者的樣本。最後一個單元,並將陣列 array 的長度減一。如果 array 為空(或不是陣列)將會回傳 NULL。
  $a=array("dsa","dsas","dfs","gfd"); 
  array_pop($a); 
  print 1] => dsas [2] => dfs )  

    已與對列 
佇列也可以陣列的形式出現,且陣列中的第一個元素是對頭,最後是對頭。 
在對尾插入元素可以使用堆疊的方法。 
從佇列數組中刪除對頭元素可以使用array_shift函數,該函數將數組的第一個元互移出並作為結果返回, 同時,數組長度減1,並且其他元素向前移動一位。所有的數字鍵名將改為從零開始計數,文字鍵名將不會改變。
array_shift範例 
  $a=array("dsa","dsas","dfs","gfd"); 
  $title=array_shift($a); 
 print_r($a); 0] => dsas [1] => dfs [2] => gfd )  
可以使用array_unshift()函數在佇列陣列的開頭插入一個或多個元素,該函數傳回成功插入元素個數。
  $a=array("dsa","dsas","dfs","gfd"); 
  $title=array_unshift($a,"a",array(1,2)); 
  print_r($a) ; 
輸出結果:Array ( [0] => a [1] => Array ( [0] => 1 [1] =>  ) [2] => 1 [1] =>  ) [2] => 1 [1] => dfs [5] => gfd )  
由結果可顯示 也可插入陣列 

    數組的排序 
忽略於鍵名的陣列。 ( "3"=>"lemon", "2"=>"orange", "4"=>"banana", "1"=>​​"apple"); 
  ksort($arr); 
  foreach ($arr ksort($arr); 
  foreach ($arr ksort($arr); 
  foreach ($arr ks $key => $val) { 
        echo "$key = $valn"; 
  } 

數組的計算是比較方便的。最簡單的計算是求數組內部的所有元素總和。也可以把數組當作一個集合處理,將兩個或多個數組合併,計算數組間的差集或交集等。
數組的合併 合併 並不是+ 
範例 
  $arr2=array(1,2,3); 
  $arr3=array(3,4,5); 
 print_r($a); 
輸出結果:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 3 [4] => 4 [5]  計算陣列的差集 
  $array1 = array("a" => "green", "red", "blue", "red"); 
 ", "red"); 
  $result = array_diff($array1, $array2); 
  print_r($result); 
的輸出結果:Array 陣列的交集 
  $array1 = array("a" => "green", "red", "blue"); 
  $ ; 
  $result = array_intersect($array1, $array2); 
  print_r($result); 
輸出結果:Array ( [a]交叉點=> green [0] 建立指定範圍的陣列: 
range();  
移除陣列中重複的值: 
array_unique();  
逆序返回陣列中重複的值: 
array_unique();  
逆序回傳陣列中重複的值: 
 。 096246795jpg 的隨即數 

 以上就是php學習陣列課件的內容,更多相關內容請關注PHP中文網(www.php.cn)! 



本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

php程序在字符串中計數元音 php程序在字符串中計數元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? 什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

See all articles