關於PHP陣列

PHP所支援的陣列屬於「結合陣列」(associate array),有別於C、C++、java、C#等程式語言所支援的「向量陣列」(vector array),在向量陣列中,陣列的大小通常需要事先宣告,每個元素的型別必須相同,同時只能透過整數的鍵值進行存取,其優點是存取效率佳,因為編譯程式已經事先根據陣列的大小及元素的型別配置記憶體空間給陣列,自然可以快速計算出所要存取的元素位置。

相反的,在結合陣列中,陣列的大小無須事先宣告,每個元素的型別不一定要相同,同時可以透過整數鍵或字串鍵進行存取,因此PHP的編譯程式不會事先配置記憶體空間給陣列,而是在使用者新增元素時,再配置記憶體空間給該元素。

其他注意事項:

  • 除了中括弧[]之外,也可以使用大括弧{}存取陣列元素,但理想上還是使用[ ]。
  • 當使用布林資料作為陣列鍵時,True會轉換成1,而False會轉換成0。
  • 當使用NULL作為陣列鍵時,NULL會轉換成空字串。
  • 當將integer、float、boolean、string、resoure等型別的資料轉換成陣列時,會得到一個包含一個元素的陣列,而元素鍵值為0,該資料為其值。
  • 當NULL轉換成陣列時,回得到空陣列。
  • 當陣列的鍵為常數或變數時,不能在其前後加上單引號,否則PHP將不會去解譯該常數或變數。

重點總結

在PHP陣列 ($array[鍵值] = 'value' ;)中:

  • 鍵值可以是整數或是變數也可以是字串
  • 當鍵值為常數或變數時,不能加上單引號
  • 每個元素型別不一定要相同



留言

這個網誌中的熱門文章

什麼是QEMU ? 什麼是KVM ? 什麼是QEMU-KVM?

[Mac OSX] 如何關閉開機啟動的應用程式?