欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP数组的定义与销毁

程序员文章站 2022-06-07 19:27:12
...
在php中定义数据我们最常用的就是array()来实现了,当然如果你不知道数组长度可以如array[]这样来定义未知数据长度了,如果要清空数据我们可以直接unset(array[key])或直接复值空。

数据定义

代码如下 复制代码

……
$array = array('one','two','three');
var_dump($array);
……

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

代码如下 复制代码

array(3) {
[0]=>
string(3) "one"
[1]=>
string(3) "two"
[2]=>
string(5) "three"
}

现在兄弟解释一下这个输出结果,首先这个数组的输出结果的第一行,
array(3)告诉我们这是个有三个元素的数组,
首先0号元素是一个长度为3的字符串(string(3))…
篇幅关系剩下两个就不说了吧,吼吼……,这说明什么呢?这说明在PHP中如果我们不为数组指定下标的话,那么他就自己自作主张的从零开始给我们弄一个下标出来——也就是PHP数组中的键名;再看看下边的例子:

代码如下 复制代码
……
$array = array('one',”hello”=>'two','three');
var_dump($array);

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

代码如下 复制代码

array(3) {
[0]=>
string(3) "one"
["hello"]=>
string(3) "two"
[1]=>
string(5) "three"
}

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

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

代码如下 复制代码
……
$array = array(-5=>'one',"hello"=>'two','three');
var_dump($array);
……

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

代码如下 复制代码

array(3) {
[-5]=>
string(3) "one"
["hello"]=>
string(3) "two"
[0]=>
string(5) "three"
}

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

PHP数组的销毁很简单,像销毁其他变量一样。
销毁整个数组:unset($array)
销毁数组中的一个元素:unset($array[-5])