1. 了解陣列
php 中的陣列實際上是乙個有序對映。對映是一種把 values 關聯到 keys 的型別。詳細的解釋可參見:php.net中的array陣列 。
2.例子:一般的陣列
這裡,我通過乙個簡單的例子,並使用圖形方式來了解陣列。
[注]:使用箭頭描述陣列$a各個單元對應某一記憶體位址的資料值(實際上,它內部結構採用hashtable結構,可以參考鳥哥寫的php中的hash演算法)。
3.例子:在陣列定義中,新增引用。
陣列$a中的第2個單元$a[1]與$x對應的是同乙個資料,使用var_dump($a)
的時候,會看到陣列的第2個單元多個&符號,即&string(1) "x",表示引用。
當 修改$x的值='y',也等同於修改$a[1]的值='y'。
下圖可以清楚的描述這一變化:
4.例子:使用foreach遍歷陣列。
每次迴圈中,當前陣列中單元的值被賦給 $value ,單元的鍵
key被賦給$key。如下圖描述:
【注:】灰色虛箭頭表示賦予某一值。
5.例子:在foreach遍歷陣列中,使用引用賦值。
//每次迴圈中,$value 都指向當前陣列中單元的值,再執行「 $value.='n';4.-----------------------------------
$a = array(3 => 'a', 1 => 'b', 2 => 'c');
echo "";
foreach ($a
as$key => &$value
)
」**,如下圖描述:
6.例子:對例子5的進一步分析。
在例子5,foreach遍歷陣列完成後,不會自動銷毀$value變數,與陣列$a最後乙個單元$a[2]指向同乙個資料。
這時候改變$value
的值,也就是改變了$a[2]
的值。
//例項驗證, 陣列最後乙個元素的 $value 引用在 foreach 迴圈之後仍會保留。建議使用 unset() 來將其銷毀。
7.小結
以上例子,只是描述php中的array陣列和foreach的一些特性。學習最後,感覺php中的array陣列和foreach不同於別的程式語言,不能使用類似c語言的結構分析php。
(完.)
深入了解PHP中的Array陣列和foreach
1.了解陣列 php 中的陣列實際上是乙個有序對映。對映是一種把 values 關聯到 k程式設計客棧eys 的型別。詳細的解釋可參見 php.net中的array陣列 2.例子 一般的陣列 這裡,我通過乙個簡單的例子,並使用圖形方式來了解陣列。a array 3 a 1 b 2 c echo va...
PHP中Array關於陣列的用法
使用函式array keys 得到陣列中所有的鍵,引數 陣列 arr array arr one one arr two two arr three three newarr array keys arr print r newarr array 0 one 1 two 2 three 使用函式ar...
c 中的array陣列和vector陣列
我覺得實驗一下會記得比較牢,話不多直接上 下面是array陣列,感覺用的不多。cpp 風格陣列 array include include include using namespace std intmain for int i 0 i myint.size i size 獲取長度,vector也...