歡迎您光臨本站 註冊首頁

如何在PHP中使用數組

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
   在 PHP 里要使用數組時,只要將變數進行「初始化」數組時的程序即可。

範例:
$names[0] = "Jollen"
$names[1] = "Jordan"
$names[2] = "Kitty"
$names["howmany"] = 3;
scalar array 與 associative array

在上面的例子中,我們看到:
$names[3] = "Kitty"
是以 3 這個數值做索引,以數值做索引 (index, key) 的數組稱為 scalar array。

另外一個例子:
$names["howmany"] = 3;
以字元串做索引的數組我們稱為 associative array。

多維數組
多維數組的初始化與一維數組方法相同,例如:
$alpha[0][0] = "A";
$alpha[0][1] = "B";
$alpha[1][0] = "C";
$alpha[1][1] = "D";
這種寫法等於:
$alpha[0][] = "A";
$alpha[0][] = "B";
$alpha[1][] = "C";
$alpha[1][] = "D";

數組的內部指針

PHP 里的數組事實上是利用資料結構中的雙向鍵接串列?砦?さ模?虼宋頤強梢岳? next() 與 pre()函數數組列的?炔恐副暉?盎蟯?笠桓鱸?亍J?槔鐧鬧副瓿?死? PHP 提供的函數外,外界無法直接去改變數組的?炔恐副輟?br>PHP 數組函數 - array()、count()、current()、list()、next()、pre()、reset()、key()、array()

用途:
建立一個數組,依給定的參數 (語法) 傳回數組。

範例:
$name = array("Jollen", "Paul", "Ketty");

相當於:
$name[0] = "Jollen";
$name[1] = "Paul";
$name[2] = "Ketty";
array() 亦可為用在巢狀式數組:
$fruits = array(
"fruits" => array("a"=>"orange","b"=>"banana","c"=>"apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);

上面為建立一個二維數組的範例。此例相當於:
$fruits["fruits"]["a"] = "orange";
$fruits["fruits"]["b"] = "banana";
$fruits["fruits"]["c"] = "apple";

$fruits["numbers"][0] = 1;
$fruits["numbers"][1] = 2;
$fruits["numbers"][2] = 3;
$fruits["numbers"][3] = 4;
$fruits["numbers"][4] = 5;
$fruits["numbers"][5] = 6;

$fruits["holes"][0] = "first";
$fruits["holes"][5] = "second";
$fruits["holes"][6] = "third";

array() 事實上並不是函數,而是 PHP 提供的一個語法。
count()
定義:
int count(mixed var);

用途:
傳回 var (通常為陣列) 的元素個數,非陣列的變數則只有一個元素。沒果沒有這個 var 變數,則傳回 0;如果 var 不是數組,則傳回 1。

範例:
$names = array("jollen", "nick", "frank");
echo count($names);
輸出:
3
current()
定義:
mixed current(array array);
用途:

傳回目前數組裡的指針所指元素的「值」。每一個數組都有一個內部的指針,指向其中的一個元素。數組的所有元素利用雙向串列連接,這個指針便指向目前的元素。一開始這個指標是指到數組的第一個元素,利用其他函數存取數組?r,便會改變這個指標,current() 便是傳回目前所指的數組元素的值,但不會改變這個指標的位置。

傳回指針指向數組的範圍之外的位置,便傳回 false。有一特殊情況要特?e小心,當元素的值為 0 或是空字串 "" 時,也會傳回 false,此時可改用 echo()函數。
list()
list() 並不是一個 function,而是像 array() 一樣,屬於 PHP 的語法。list() 用來一次給定多個值給多個變數。
範例:






$result = mysql($conn, "SELECT id, name, salary FROM employees");
while (list($id, $name, $salary) = mysql_fetch_row($result)) {
print("
".
"
".
"
".
"
");
}

?>
Employee nameSalary
$name$salary

next()
定義:
mixed next(array array);

用途:

傳回下一個數組指針所指的值,注意是先把指針往下移,再傳回值。如果元素的值是 0 或 "" (空字元串),則傳回 false。當指針已指向數組尾段,無法再往下移時,則傳回 false。
可利用 echo() 函數來觀察數組中是否有 0 或 ""。
prev()

定義:
mixed prev(array array);

用途:
將數組內部指針往前移前一位后,再傳回元素的值。

reset()

定義:
mixed reset(array array);
用途:將數組的指針初始化,即移到第一個元素的位置,並且傳回第一個元素的值。

key()

定義:
mixed key(array array);

用途:

傳回目前 associative array 中的 key,即數組內部指針所指元素位置的 key。配合 reste()、next() 的綜合範例如下:

$fruits = array("d"=>"lemon","a"=>"orange","b"=>"banana","c"=>"apple");
arsort($fruits);
for(reset($fruits); $key = key($fruits); next($fruits)) {
echo "fruits[$key] = ".$fruits[$key]."
";
}

輸出:

fruits[a] = orange
fruits[d] = lemon
fruits[b] = banana
fruits[c] = apple

循環由第一個元素開始拜訪所有的元素,到最後一個元素結束。<



[火星人 ] 如何在PHP中使用數組已經有370次圍觀

http://coctec.com/docs/program/show-post-72152.html