PHP 陣列詳解

2021-07-02 06:05:48 字數 4880 閱讀 7739

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

<?php

$cars=array("volvo","bmw","toyota");

echo "i like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";

?>

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

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

$cars1="volvo";

$cars2="bmw";

$cars3="toyota";

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

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

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

在 php 中,array() 函式用於建立陣列:

array();

在 php 中,有三種型別的陣列:

這裡有兩種建立數值陣列的方法:

自動分配 id 鍵(id 鍵總是從 0 開始):

$cars=array("volvo","bmw","toyota");

人工分配 id 鍵:

$cars[0]="volvo";

$cars[1]="bmw";

$cars[2]="toyota";

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

<?php

$cars=array("volvo","bmw","toyota");

echo "i like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";

?>

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++)

?>

//利用 foreach 遍歷普通陣列

<?php 

$colors = array("red","green","blue","yellow");

foreach ($colors as $value)

?>

關聯陣列是使用您分配給陣列的指定的鍵(以前的普通陣列的鍵固定為0,1,2,3,...;而關聯陣列自己指定鍵,以下的peter、ben、jon都是鍵值)的陣列。

這裡有兩種建立關聯陣列的方法:

$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.";

?>

遍歷並列印關聯陣列中的所有值,您可以使用 foreach 迴圈,如下所示:

<?php

$age=array("peter"=>"35","ben"=>"37","joe"=>"43");

foreach($age as $x=>$x_value) // foreach 遍歷關聯陣列

?>

注意:如果我們建立乙個陣列的時候,沒有給某個元素指定下標,php就會自動的用目前最大的那個下標值(整數),加上一作為該元素的下標(關鍵字)例:

<?php  

$arr = array(5=>"logo",567,90);

echo $arr[5]; //輸出logo

echo "

".$arr[6]; //輸出567

echo "

".$arr[7]; //輸出90

?>

<?php  

$arr = array(5=>"logo",567,90,12.34=>"asd");

$arr[true] = "true";

$arr[false] = "false";

$arr[null] = "null";

echo $arr[5]; //輸出logo

echo "

".$arr[6]; //輸出567

echo "

".$arr[7]; //輸出90

/* 當用true、false、null 為鍵值時

true 可用true 、 1 表示

false 可用 false 、 0 表示

null 可用 null 、 "" 表示

*/echo "

".$arr[true]; //輸出true

echo "

".$arr[1]; //輸出true

echo "

".$arr[false]; //輸出false

echo "

".$arr[0]; //輸出false

echo "

".$arr[null]; //null

echo "

".$arr[""]; //輸出null

echo "

".$arr[12.34]."

"; //輸出asd,以小數部分表示也可

echo "

".$arr[12]."

";

//輸出asd,使用小數做key值,將自動截斷小數部分,以整數部分表示即可

print_r($arr);

//顯示陣列$arr的詳細資訊,輸出array ( [5] => logo [6] => 567 [7] => 90 [12] => asd ) 

?>

<?php   

/* php 陣列的幾個重要函式:

count() 返回陣列中元素的數目。如:count($arr);

is_array() 判斷變數是否是陣列,若是陣列返回1,否則不返回任何東西。如:is_array($arr);

print_r() 顯示陣列詳細資訊。如:print_r($arr);

var_dump() 顯示陣列詳細資訊,同時顯示陣列內每個元素資料型別。如:var_dump($arr);

explode("按照什麼拆分,在**分割",要分割的字串) 拆分字串, 把字串打散為陣列。

sort() 對數值陣列進行公升序排序。

*/$arr = array(5=>"logo",567,90,12.34=>"asd");

//$arr = 2;

$b = count($arr);

echo "

".$b;

$a = is_array($arr);

echo "

".$a;

print_r($arr);

echo "

";var_dump($arr);

echo "

";$str = 'one,two,three,four';

$c = explode(',',$str);

print_r($c);

echo "

";sort($arr); //對陣列$arr進行公升序排序

print_r($arr); //重新輸出陣列$arr

?>

<?php   

/* unset() 刪除陣列中的某個鍵,但在銷毀後,關鍵字不會重新組合,保留原來的關鍵字;在非組中用來釋放給定的變數

陣列運算子:

例子 名稱 結果

$a + $b 聯合 $a 和 $b 的聯合。

$a == $b 相等 如果 $a 和 $b 具有相同的鍵/值對則為 true。

$a === $b 全等 如果 $a 和 $b 具有相同的鍵/值對並且順序和型別都相同則為 true。

$a != $b 不等 如果 $a 不等於 $b 則為 true。

$a <> $b 不等 如果 $a 不等於 $b 則為 true。

$a !== $b 不全等 如果 $a 不全等於 $b 則為 true。

*/$arr1 = array(5=>"logo",567,90,12.34=>"asd");

print_r($arr1);

echo "

";unset($arr1[6]);

print_r($arr1);

echo "

";$arr2 = array(5=>"logo1",5617,910,12.34=>"asd1");

print_r($arr2);

echo "

"."聯合後:";

$arr = $arr1 + $arr2;

//+ 運算子把右邊的陣列元素(除去鍵值與左邊的陣列元素相同的那些元素)附加到左邊的陣列後面,但是重複的鍵值不會被覆蓋。

print_r($arr);

echo "

";?>

PHP陣列詳解

作為一名c 程式設計師,在轉做php開發的過程中,對php陣列產生了一些混淆,與c 陣列有相似的地方,也有一些不同,下面就全面地分析一下php的陣列及其與c 中相應資料型別的區別和聯絡。1 數值陣列 也叫索引陣列,即以數字 從0 開始 作為陣列下標。相當於c 中的vector。2 關聯陣列 以字串作...

PHP陣列用處 PHP陣列操作詳解

概述 要訪問乙個變數的內容,可以直接使用其名稱。如果該變數是乙個陣列,可以使用變數名稱和關鍵字或索引的組合來訪問其內容。像其他變數一樣,使用運算子 可以改變陣列元素的內容。陣列單元可以通過 array key 語法來訪問。陣列的基本操作 php定義陣列 array array array key v...

php陣列運算詳解

1 建立乙個空陣列 result array print r result 輸出結果 array 2 建立,初始化陣列 result array and you print r result 輸出結果 array 0 and 1 you 3 陣列compact number 1,3,5,7,9 st...