程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中數組之數據類型詳解

php中數組之數據類型詳解

編輯:關於PHP編程

在php中數組可以存放值可以是任意的 PHP 類型,如果對給出的值沒有指定鍵名,則取當前最大的整數索引值,而新的鍵名將是該值加一,這就是php數組

 有三種數組類型:

數值數組
帶有數字 ID 鍵的數組
關聯數組
數組中的每個 ID 鍵關聯一個值
多維數組
包含一個或多個數組的數組

PHP 中的 數組 實際上是一個有序映射。映射是一種把 values 關聯到 keys 的類型。此類型在很多方面做了優化,因此可以把它當成真正的數組,或列表(向量),散列表(是映射的一種實現),字典,集合,棧,隊列以及更多可能性。數組元素的值也可以是另一個數組。樹形結構和多維數組也是允許的。

可以用 array() 語言結構來新建一個 array。它接受任意數量用逗號分隔的 鍵(key) => 值(value) 對。

key 可以是 integer 或者 string。如果key是一個 integer 的標准表示,則被解釋為整數(例如 "8" 將被解釋為 8,而 "08" 將被解釋為 "08")。key 中的浮點數被取整為 integer。在 PHP 中索引數組與關聯數組是相同的,它們都可以同時包含整型和字符串的下標。

值可以是任意的 PHP 類型。

如果對給出的值沒有指定鍵名,則取當前最大的整數索引值,而新的鍵名將是該值加一。如果指定的鍵名已經有了值,則該值會被覆蓋。

使用 TRUE 作為鍵名將使 integer 1 成為鍵名。使用 FALSE 作為鍵名將使 integer 0 成為鍵名。使用 NULL 作為鍵名將等同於使用空字符串。使用空字符串作為鍵名將新建(或覆蓋)一個用空字符串作為鍵名的值,這和用空的方括號不一樣。

不能用數組和對象作為鍵(key)。這樣做會導致一個警告:Illegal offset type。

用方括號的語法新建/修改
如果 $arr 還不存在,將會新建一個。這也是一種定義數組的替換方法。要改變一個值,只要給它賦一個新值。如果要刪除一個鍵名/值對,要對它用 unset()。

Note:如果給出方括號但沒有指定鍵名,則取當前最大整數索引值,新的鍵名將是該值 + 1。如果當前還沒有整數索引,則鍵名將為 0。如果指定的鍵名已經有值了,該值將被覆蓋。

注意這裡所使用的最大整數鍵名不一定當前就在數組中。它只要在上次數組重新生成索引後曾經存在過就行了。

應該始終在用字符串表示的數組索引上加上引號。例如用 $foo['bar'] 而不是 $foo[bar]。但是為什麼 $foo[bar] 錯了呢?

原因是此代碼中有一個未定義的常量(bar)而不是字符串('bar'-注意引號),而 PHP 可能會在以後定義此常量,不幸的是你的代碼中有同樣的名字。它能運行,是因為 PHP 自動將裸字符串(沒有引號的字符串且不對應於任何已知符號)轉換成一個其值為該裸字符串的正常字符串。例如,如果沒有常量定義為 bar,PHP 將把它替代為 'bar' 並使用之。

例子 1
在這個例子中,會自動分配 ID 鍵:

 代碼如下 復制代碼

$names = array("Peter","Quagmire","Joe");

例子 2
在這個例子中,我們人工分配的 ID 鍵:

 代碼如下 復制代碼 $names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";

可以在腳本中使用這些 ID 鍵:

 代碼如下 復制代碼

<?php

$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";

echo $names[1] . " and " . $names[2] . " are ". $names[0] . "'s neighbors";
?>

以上代碼的輸出:

Quagmire and Joe are Peter's neighbors


多維數組
在多維數組中,主數組中的每個元素也是一個數組。在子數組中的每個元素也可以是數組,以此類推。

例子 1
在本例中,我們創建了一個帶有自動分配的 ID 鍵的多維數組:

 代碼如下 復制代碼 $families = array
(
  "Griffin"=>array
  (
  "Peter",
  "Lois",
  "Megan"
  ),
  "Quagmire"=>array
  (
  "Glenn"
  ),
  "Brown"=>array
  (
  "Cleveland",
  "Loretta",
  "Junior"
  )
);


總結
php 中的數組是我們開發中經常會用到的,像想同是操作多個數據量可用數組key來保存不同的值等操作,數組是最方法最快速的解決辦法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved