初学者必看:关于PHP数组元素介绍

开发 后端
其实一个数组,从最简单的形式来讲,是一个保存变量的变量,文章这里介绍了PHP数组元素相关知识,希望对大家有帮助。

PHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下个人理解,和大家讨论讨论关于PHP数组元素。如果你曾经写过使用大量变量的脚本(有时候近100个),你就会知道跟踪每个变量的内容和用途是多么的难受。真的,我曾经有过这样的经历。如果我们能把变量保存在另一个变量里边,变量列表的长度就从100减少到10以内。这就是数组是如何而来的。

#T#一个数组,从最简单的形式来讲,是一个保存变量的变量。这很像一个城市里的一列房屋。城市拥有很多房屋,而每个房屋有一个地址。同样的情况,每个变量(房子)在一个数组(城市)里有它自己的地址,我们叫它索引。让我们假设你有三个人名分别存放在叫做$sPerson1、$sPerson2和$sPerson3的变量中。现在你可以在你的程序中使用这三个变量,但是这样很容易忘记哪个变量是哪个……尤其是有其他变量的时候。要将这三个变量放到一个数组中,你可以像这样做:

  1. <?php 
  2. $arrayarrayPeople = array("John", "Susie", "Dave");  
  3. ?> 

现在,我使用$arrayPeople来代替$sPerson1, $sPerson2, and $sPerson3。注意我是如何使用PHP中的array()函数的。如果这三个名字是数字,我不会使用引号把它引起来。为了显示这三个名字,我是这样做的:

  1. <?php 
  2. $arrayarrayPeople = array("John", "Susie", "Dave");  
  3. print $arrayPeople[0];  
  4. print $arrayPeople[1];  
  5. print $arrayPeople[2];  
  6. ?> 

为什么是从零开始?因为索引从那里开始。不管你把什么放到数组里,索引总是从零(0)开始自动累加。你可以手动给索引指定一个特定的入口,等一下我会说到这点。现在我将给你演示怎么通过一个循环自动的显示一个数组的内容:

  1. <?php 
  2. $arrayarrayPeople = array("John", "Susie", "Dave");  
  3. $nArraySize = count($arrayPeople);  
  4. for($index=0; $index < $nArraySize; $index++) // max. index is always number of entries - 1  
  5. // because index starts at zero  
  6. {  
  7. print $arrayPeople[$index];  
  8. }  
  9. ?> 

在这种情况下,$index是条目的索引(地址),$nArraySize是PHP数组元素的个数。count()函数返回PHP数组元素的个数。对像我刚才使用的小数组而已,使用循环的确增加了代码的长度,但是当你开始处理元素成百上千的数组时(他们的确存在),你就会很乐意使用循环了。

下边我将讲讲如何创建为数组创建你自己的索引。每当我使用SESSIONS来为我的网站设定管理员权限的时候,我都会使用数组来保存seesion信息。这里是相关的代码

  1. <?php 
  2. $SESSIONarray(); // that creates a blank array  
  3. $SESSION["username"] = $sUserName;  
  4. $SESSION["password"] = $sPassword;  
  5. $SESSION["accesslevel"] = $nLevel;  
  6. // etc,etc,etc.  
  7. ?> 

看见我怎么使用单词来表示索引了吗?这样我就可以知道$SESSION["username"]包含的是人名。这比要从$SESSION[0]记起它保存的是用户名容易多了。我使用数组时总是像这样使用变量的名字代替索引来表示元素。所以为了在数组$arrayDays中保存$nDaysinMay,我会使用$arrayDays["nDaysinMay"]。这样我就能始终知道元素里包含的是什么变量。

责任编辑:田树 来源: 博客
相关推荐

2011-09-16 09:38:19

Emacs

2011-09-08 10:38:37

Widget

2011-06-17 14:29:55

Qt

2011-08-24 17:05:01

Lua

2011-06-17 15:06:14

Qt

2011-06-17 14:12:32

Qt

2011-06-17 15:32:28

Qt

2011-08-25 15:51:10

Lua脚本

2011-06-17 14:54:31

Qt

2011-06-17 15:44:25

Qt

2011-06-17 15:37:42

Qt

2011-06-17 15:25:18

Qt

2013-04-23 10:51:15

Linux压缩

2011-06-17 15:19:28

Qt

2011-06-17 14:41:56

Qt

2011-07-26 17:55:16

iPhone Runtime

2011-08-04 18:01:07

IOS Cocoa Touc

2009-10-29 09:19:59

ADO.NET

2009-10-22 16:46:03

VB.NET初步知识

2011-06-27 14:56:46

Qt Designer
点赞
收藏

51CTO技术栈公众号