PHP 数组之PHP基础入门教程

什么是数组?

在使用 PHP 进行开发的过程中,或早或晚,您会需要创建许多相似的变量,无需很多相似的变量,你可以把数据作为元素存储在数组中,数组中的元素都有自己的 ID,因此可以方便地访问它们。

有三种数组类型:

数值数组:带有数字 ID 键的数组,数值数组存储的每个元素都带有一个数字 ID 键.

关联数组:数组中的每个 ID 键关联一个值.

多维数组:包含一个或多个数组的数组.

可以使用不同的方法来创建数值数组:

数值数组:

例子 1,在这个例子中,会自动分配 ID 键,代码如下:

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

例子 2,在这个例子中,我们人工分配的 ID 键,代码如下:

  1. $names[0] = Peter
  2. $names[1] = Quagmire
  3. $names[2] = Joe;可以在脚本中使用这些 ID 键: 
  4. <?PHP 
  5. $names[0] = Peter
  6. $names[1] = Quagmire
  7. $names[2] = Joe
  8. echo $names[1] .  and  . $names[2] .  are $names[0] . 's neighbors
  9. ?> 
  10. //以上代码输出 
  11. //Quagmire and Joe are Peter's neighbors 

关联数组

关联数组,它的每个 ID 键都关联一个值。

在存储有关具体命名的值的数据时,使用数值数组不是最好的做法,通过关联数组.我们可以把值作为键.并向它们赋值。

例子1,在本例中,我们使用一个数组把年龄分配给不同的人,代码如下:

$ages = array(Peter=>32,Quagmire=>30,Joe=>34);

例子2,本例与例子 1 相同,不过展示了另一种创建数组的方法,代码如下:

  1. $ages['Peter'] = 32
  2. $ages['Quagmire'] = 30
  3. $ages['Joe'] = 34

可以在脚本中使用 ID 键,代码如下:

  1. <?PHP 
  2. $ages['Peter'] = 32
  3. $ages['Quagmire'] = 30
  4. $ages['Joe'] = 34
  5. echo Peter is  . $ages['Peter'] .  years old.
  6. ?> 
  7. //以上脚本的输出 
  8. //Peter is 32 years old. 

多维数组

在多维数组中,主数组中的每个元素也是一个数组,在子数组中的每个元素也可以是数组,以此类推。

例子1,我们创建了一个带有自动分配的 ID 键的多维数组,代码如下:

  1. $families = array 
  2.   Griffin=>array 
  3.   ( 
  4.   Peter
  5.   Lois
  6.   Megan 
  7.   ), 
  8.   Quagmire=>array 
  9.   ( 
  10.   Glenn 
  11.   ), 
  12.   brown=>array 
  13.   ( 
  14.   Cleveland
  15.   Loretta
  16.   Junior 
  17.   ) 
  18. ); 
  19. /* 
  20. 如果输出这个数组的话,应该类似这样: 
  21. Array 
  22. ( 
  23. [Griffin] => Array 
  24.   ( 
  25.   [0] => Peter 
  26.   [1] => Lois 
  27.   [2] => Megan 
  28.   ) 
  29. [Quagmire] => Array 
  30.   ( 
  31.   [0] => Glenn 
  32.   ) 
  33. [brown] => Array 
  34.   ( 
  35.   [0] => Cleveland 
  36.   [1] => Loretta 
  37.   [2] => Junior 
  38.   ) 
  39. ) 
  40. */ 

例子 2,让我们试着显示上面的数组中的一个单一的值,代码如下:

  1. echo Is  . $families['Griffin'][2] .  
  2.  a part of the Griffin family?
  3. //以上代码输出 
  4. //Is Megan a part of the Griffin family? 

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...