2013年3月8日 星期五

PHP 陣列介紹

PHP陣列宣告方式為 [ ]
陣列索引值從 0 開始

設定方法如下:

$array[0] = "Tony";
$array[1] = "Kathy";
$array[2] = "Kelvin";
$array[3] = "Kent";


也可以直接輸入值,會默認數字為索引值


$array[] = "Tony";
$array[] = "Kathy";
$array[] = "Kelvin";
$array[] = "Kent";
會得到一樣的結果


也可以直接再同一行輸入
$array = array("Tony", "Kathy", "Kelvin", "Kent");
也是會得到一樣的結果



索引值也可以用字串來命名方便辨認

$array["name"] = "Tony";
$array["sex"] = "male";


二維陣列的設定方法


$array[0][0] = "Tony";
$array[0][1] = "Kathy";
$array[1][0] = "Kelvin";
$array[1][1] = "Kent";

同樣可以用下列方法設定
$array = array(array("Tony", "Kathy"),array("Kelvin", "Kent"));

會得到相同的結果


巢式陣列
在陣例裡面在宣告陣列,即為巢式陣列,在複雜資料的時候配合字串索引值使用很方便

假設有一份名單資料,以下列方式宣告



$list = array(
"1" => array(
    "name" => "Tony",
    "sex" => "male"
),
"2" => array(
    "name" => "Kathy",
    "sex" => "female"
),

"3" => array(
     "name" => "Kelvin",
     "sex" => "male"
)

);



當需要第一個人的名字的時候,只要輸入 $list[1]["name"]就可以得到,如果有其他資料也可以一併宣告進去。

count() 可以用來計算指定深度的陣列數量。

count($list) 會得到 3 ,因為有3個人。
count($list[1]) 會得到 2 ,因為有兩個欄位



explode 函數會將字串資料自動切為陣列

使用方法為: $array = explode("分隔符號", "字串");

範例:

$str = "name1,name2,name3";

$array = explode(",", $str);
上述語法代表把 $str 這個字串依照每一個 "," 來切開。

將會得到

$array[0] = "name1";
$array[1] = "name2";
$array[2] = "name3";


implode 剛好相反,是把陣列合併成字串輸出

如果把剛剛得到的結果使用implode

$str2 = implode(",", $array);

$str2 的值將會是 "name1,name2,name3";









沒有留言:

張貼留言