首页 > 语言 > PHP > 正文

PHP数组的定义与销毁

2024-09-04 11:46:05
字体:
来源:转载
供稿:网友

在php中定义数据我们最常用的就是array()来实现了,当然如果你不知道数组长度可以如array[]这样来定义未知数据长度了,如果要清空数据我们可以直unset(array[key])或直接复值空.

数据定义实例代码如下:

  1. …… 
  2. $array = array('one','two','three'); 
  3. var_dump($array); 
  4. …… 

在本代码片段的第一行,定义了一个一维数组$array,第二行的时候我们格式化输出了这个数组,结果是这样的:

实例代码如下:

  1. array(3) { 
  2. [0]=> 
  3. string(3) "one" 
  4. [1]=> 
  5. string(3) "two" 
  6. [2]=> 
  7. string(5) "three" 

现在兄弟解释一下这个输出结果,首先这个数组的输出结果的第一行,array(3)告诉我们这是个有三个元素的数组,首先0号元素是一个长度为3的字符串(string(3))…

篇幅关系剩下两个就不说了吧,吼吼……,这说明什么呢?这说明在PHP中如果我们不为数组指定下标的话,那么他就自己自作主张的从零开始给我们弄一个下标出来——也就是PHP数组中的键名;再看看下边的例子:

实例代码如下:

  1. …… 
  2. $array = array('one',”hello”=>'two','three'); 
  3. var_dump($array); 

……这一次我们定义数组的时候,为第二个元素指定了下标(从此以后,在本文中就叫做键名了,下标有点含糊不清!),第二个元素指定了键名(hello),咱们再看看输出结果:

实例代码如下:

  1. array(3) { 
  2. [0]=> 
  3. string(3) "one" 
  4. ["hello"]=> 
  5. string(3) "two" 
  6. [1]=> 
  7. string(5) "three" 

我想你也像我一样看到了一个很智能的现象,第一个元素的键名还是0——这个我们可以理解,因为我们没有指定,而PHP数组必须要有一个键名,PHP就自作主张从零开始创立了一个键名;第二个元素的时候,我们指定了键名,PHP就尊重我们的意见用了这个键名;复杂的事情在第三个元素,

第三个元素,看起来也很简单,我们没有指定键名,PHP自动的把最大整数键名加上1,作为了键名.但是大家想过没有,如果我们把第一个元素的键名修改为“-5”,第二个元素键名不变,结果会是什么呢?我们拭目以待:

实例代码如下:

  1. …… 
  2. $array = array(-5=>'one',"hello"=>'two','three'); 
  3. var_dump($array); 
  4. …… 

如果你想当然的认为,第三个元素的键名应该是-4,那么我告诉你在PHP4.3.0之前这个想法是对的,但是之后就错了,现在也就是PHP4.3.0之后的版本你将看到如下结果:

实例代码如下:

  1. array(3) { 
  2. [-5]=> 
  3. string(3) "one" 
  4. ["hello"]=> 
  5. string(3) "two" 
  6. [0]=> 
  7. string(5) "three" 

是的第三个元素是从0开始的,也就是不管你的负数有多小,下一个元素要是让PHP来定义键名的话,那么他就是从0开始——记住这个地方说的是,在现有的键名中如果最大的依然是个负数,不管负数有多小,PHP也是从零开始下一个键名.

PHP数组的销毁很简单,像销毁其他变量一样.

销毁整个数组:unset($array)

销毁数组中的一个元素:unset($array[-5])

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表