PHP 數組

陣列能夠在單一變數中儲存多個值:

實例

<?php
$cars=array("Volvo","BMW","Toyota");
echo "I like" . $cars[0] . "," . $cars[1] . "and " . $cars[2] . ".";
?>

嘗試»


陣列是什麼?

陣列是一個能在單一變數中儲存多個值的特殊變數。

陣列提供了一種快速,方便地管理一組相關資料的方法,是php程式設計中的重要內容。

如果您有一個項目清單(例如:車名字的清單),將其儲存到單一變數中,如下所示:

$cars1 = "Volvo"; 

$cars2 = "BMW"; 

$cars3 = "Toyota";

然而,如果您想要遍歷數組並找出特定的一個呢?如果陣列的項不只 3 個而是 300 個呢?

解決辦法是建立一個陣列!

陣列可以在單一變數中儲存多個值,並且您可以根據鍵存取其中的值。

在PHP 中建立陣列

##在PHP 中,array() 函數用來建立陣列:

array() ;

#PHP 5.4之後,陣列的初始化可以用更簡潔的方式: [] 用一對中括號來表示。

在PHP 中,有三種類型的陣列:

1.數值陣列 - 具有數字ID 鍵的陣列

2.關聯陣列 - 帶有指定的鍵的數組,每個鍵關聯一個值

3.多維數組 - 包含一個或多個數組的數組

PHP 數值數組

這裡有兩種創建數值數組的方法:

自動指派ID 鍵(ID 鍵總是從0 開始):

$cars=array("Volvo","BMW","Toyota");

人工分配ID 鍵:

$cars1[0] = "Volvo"; 


$cars2[1] = "BMW"; 

#$cars3[2 ] = "Toyota";

下面的實例建立一個名為$cars 的數值數組,並給數組分配三個元素,然後列印一段包含數組值的文字:

實例

<?php
$cars=array("Volvo","BMW","Toyota");
var_dump($cars); // 可以打印出来看看是什么 
echo "I like" . $cars[0] . "," . $cars[1] . "and " . $cars[2] . ".";
?>

試試看»



# 取得陣列的長度- count() 函數##count( ) 函數用於傳回陣列的長度(元素的數量):

實例

<?php
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
?>

嘗試»


遍歷數值數組

遍歷並列印數值數組中的所有值,您可以使用for 循環,如下所示:

實例

<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
echo $cars[$x];
echo "<br>";
}
?>

嘗試»

關於for迴圈在後面的章節會有詳細講解,參考PHP for 迴圈


PHP 關聯數組

##關聯數組是使用您指派給數組的指定的鍵的數組。

這裡有兩種建立關聯數組的方法:

$age=array("Peter"=>"35","Ben"=>"37","Joe" =>"43");

or:

$age['Peter']="35"; 

$age['Ben']="37 "; 


$age['Joe']="43";

隨後可以在腳本中使用指定的鍵:

實例

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is" . $age['Peter'] . "years old.";
?>

試試»

那我們來宣告一下關聯數組。必須要指定字串的下標和必須要使用鍵值對應符。

<?php
 //声明一下关联数组
    $rela = array(
              '帅' => '你',
              '很帅' => '黄晓明',
              '灰常灰常帅' => '宁泽涛',
              '有男人味的大叔' => '吴秀波',
             );
 //简洁声明
     $drink = [
            '美' => '凤姐',
            '很美' => '芙蓉姐姐',
            'verymei' => '杨幂',
            '心中滴女神呀' => '华妃',
            100 => '孙俪',
            '娘娘',
           ];
 // 输出 $rela
  echo '<pre>';
  var_dump($rela);
  echo '</pre>';
 // 输出$drink
  echo '<pre>';
  var_dump($drink);
  echo '</pre>';
?>

我們來實驗看看最終的結果是什麼樣的:

#array(4) 

["帥"]=> string(3) "你" 
["很帥"]=> string(9) "黃曉明" 
["灰常灰常帥"]=> string(9) "寧澤濤" 
["有男人味的大叔"]=> string(9) "吳秀波" 

array(6) { 
#["美麗"]=> string(6) "鳳姐" 
["很美"]=> string(12) "芙蓉姊姊" 
["verymei"]=> string(6) "楊冪" 
#["心中滴女神呀"]=> string(6) "華妃" 
[100]=> string(6) "孫儷" 
[101]=> string(6) "娘娘" 
}

用過上面的例子,我們知道:

#聲明關聯數組是鍵名=> 值

在關聯數組可以有索引數組的元素

關聯數組中的索引數組的元素後再聲明了無下標的元素,依然是最大值+1原則。 (觀察上圖的值為孫儷、娘娘的兩個元素)。


遍歷關聯數組

#遍歷並列印關聯數組中的所有值,您可以使用foreach 循環,如下所示:

實例

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>


試試看»

關於foreach迴圈在後面的章節會有詳細講解,參考PHP for 迴圈中的foreach


#切記

陣列元素間的分割符號為逗號,在陣列中插入陣列的時候,不要在結尾處寫成了分號(; ) 下圖是錯誤的載圖展示:

104.png

多維數組

多維數組 將在PHP 高階教學部分做詳細介紹。

完整的 PHP Array 參考手冊

如需查看所有陣列函數的完整參考手冊,請造訪我們的 PHP Array 參考手冊。

此參考手冊提供了每個函數的簡要描述和應用實例!


繼續學習
||
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?>