Home  >  Article  >  php教程  >  初学者必看:关于PHP数组元素介绍

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

WBOY
WBOYOriginal
2016-06-13 11:04:401165browse

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

一个数组,从最简单的形式来讲,是一个保存变量的变量。这很像一个城市里的一列房屋。城市拥有很多房屋,而每个房屋有一个地址。同样的情况,每个变量(房子)在一个数组(城市)里有它自己的地址,我们叫它索引。让我们假设你有三个人名分别存放在叫做$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"]。这样我就能始终知道元素里包含的是什么变量。


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn