陣列能夠在單個變數中儲存多個值:
<?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...