红联Linux门户
Linux帮助

php数组

发布时间:2010-05-05 10:21:24来源:红联作者:静静飞舞
注: unset() 函数允许取消一个数组中的键名。要注意数组将不会重建索引。
$a = array( 1 => 'one', 2 => 'two', 3 => 'three' );
unset( $a[2] );
/* 将产生一个数组,定义为
$a = array( 1=>'one', 3=>'three');
而不是
$a = array( 1 => 'one', 2 => 'three');
*/
$b = array_values($a);
// Now $b is array(0 => 'one', 1 =>'three')
?>


1.检查数组中的值



如果有一个很大的数组,而你要做的只是检查数组里面是否包含某个你感兴趣的值,那么你可以使用 in_array()函数来轻松地完成这项功能。

<? $namesArray = array("Heart", "Love", "Boy", "Mary", "Paul", "Merry", "Jacky");

$lookingFor = "Albert";

if (in_array($lookingFor, $namesArray)) {

echo "找到了!";

} else {

echo "在数组中找不到你要找的值!";

}

?>





如果你把变量$lookingFor的值改成「Mary」然后重新执行一次,那么这次画面上便会显示「找到了」, 如果你想知道数组所包含的元素总个数,那么你可以使用简单易用的count()函数:



<? $namesArray = array("Heart", "Love", "Boy", "Mary", "Paul", "Merry", "Jacky");

$count = count($namesArray); ?>

变量$count的值将会是7。



2.数组元素的增加



你可以很容易地在数组的头或者尾端新增一个元素。



下面的例子中首先示范如何使用 array_push() 函数在数组的尾端新增元素:



<? /* 首先我们建立一个数组 */

$fruitArray = array("apple", "orange", "banana", "Peach", "pear");

/* 使用array_push()函数在原有数组尾端新增一些元素 */

array_push($fruitArray, "grape", "pineapple", "tomato");

/* 现在把该数组的所有元素的键(key)与值(value)都显示在网页上 */

while (list($key,$value) = each($fruitArray)) {

echo "$key : $value<br>";

}

?>





显示结果如下:



0 : apple

1 : orange

2 : banana

3 : Peach

4 : pear

5 : grape

6 : pineapple

7 : tomato





现在来示范如何从数组的开头新增一些元素。下面的程序代码和前面一个例子几乎完全相同,唯一的差别只是这里使用的函数是array_unshift()而不是 array_push()。



<?

/* 首先我们建立一个数组 */

$fruitArray = array("apple", "orange", "banana", "Peach", "pear");

/* 使用array_unshift()函数在原有数组开头新增一些元素 */

array_unshift($fruitArray, "grape", "pineapple", "tomato");

/* 现在把该数组的所有元素的键(key)与值(value)都显示在网页上 */

while (list($key,$value) = each($fruitArray)) {

echo "$key : $value<br>";

}

?>



显示结果如下:



0 : grape

1 : pineapple

2 : tomato

3 : apple

4 : orange

5 : banana

6 : Peach

7 : pear





3.数组的合并



array_merge()函数将两个或以上的数组合并成一个新的数组,在合并数组元素的时候,合并的顺序是按照原有数组被呼叫到的顺序来决定。如果原有数组本身已经被重新排序过,那么在数组合并完成以后,你必须针对产生出来的新数组重新再排序一次。下面这个范例就介绍这个函数的使用方式:



<? /* 首先建立第一个数组 */

$fruitArray = array("apple", "orange", "banana", "Peach", "pear");

/* 接下来建立第二个数组 */

$vegArray = array("carrot", "green beans", "asparagus", "artichoke", "corn");

/* 现在使用array_merge()函数将两个数组合并成一个新的数组 */

$goodfoodArray = array_merge($fruitArray, $vegArray);

/* 最后我们把合并后的新数组的所有元素的键(key)与值(value)都显示在网页上 */

while (list($key,$value) = each($goodfoodArray)) {

echo "$key : $value<br>";

}

?>





显示结果如下:



0 : apple

1 : orange

2 : banana

3 : Peach

4 : pear

5 : carrot

6 : green beans

7 : asparagus

8 : artichoke

9 : corn





4.数组元素的删除



介绍完如何新增元素以及合并数组以后,现在我来介绍如何从数组中删除一些元素。首先,如果要从数组的尾端删除元素,我们可以使用 array_pop() 函数。另外还有一个函数叫做 array_shift(),它是用来从数组的开头删除一些元素。在我们把元素从数组中删除以后,该数组就再也找不到我们之前删除的元素了,但是被删除的元素还是可以透过一个变量来取得它的值。



现在我们试着使用array_pop()函数从数组的尾端删除一些元素:



<?

/* 首先我们建立一个数组 */

$fruitArray = array("apple", "orange", "banana", "Peach", "pear");

/* 使用array_pop()函数从数组的尾端删除一个元素 */

$popped = array_pop($fruitArray);

/* 现在我们把删除后的数组中所有元素的键(key)与值(value)都显示在网页上 */

while (list($key,$value) = each($fruitArray)) {

echo "$key : $value<br>";

}

echo "<br>最后,刚才被删除的元素的值会储存在 $popped 变量里面,它的值是:$popped";

?>





显示结果如下:



0 : apple

1 : orange

2 : banana

3 : Peach





最后,刚才被删除的元素的值会储存在 $popped 变量里面,它的值是: pear 。



接下来示范如何从数组的开头删除元素:



<?

/* 首先我们建立一个数组 */

$fruitArray = array("apple", "orange", "banana", "Peach", "pear");

/* 使用 array_shift()函数从数组的开头删除一个元素 */

$shifted = array_shift($fruitArray);

/* 现在我们把删除后的数组中所有元素的键(key)与值(value)都显示在网页上 */

while (list($key,$value) = each($fruitArray)) {

echo "$key : $value<br>";

}

echo "<br>最后,刚才被删除的元素的值会储存在 $shifted 变量里面,它的值是:

$shifted";

?>





显示结果如下:



0 : orange

1 : banana

2 : Peach

3 : pear





5.数组的排序



最后,刚才被删除的元素的值会储存在 $shifted 变量里面,它的值是:apple 。



<? /* 首先我们建立一个数组 */

$fruitArray = array("apple", "orange", "banana", "Peach", "pear");

/* 使用 sort()函数将数组的元素重新排序 */

sort($fruitArray);

/* reset ($fruitArray) 以便我们能正确的将它从头至尾的显示*/

/* 现在我们把删除后的数组中所有元素的键(key)与值(value)都显示在网页上 */

while (list($key,$value) = each($fruitArray)) {

echo "$key : $value<br>";

}

?>





显示结果如下:



0 : apple

1 : banana

2 : Peach

3 : orange

4 : pear
文章评论

共有 3 条评论

  1. 小蔡的小菜 于 2010-05-13 01:56:26发表:

    感激涕零,谢谢楼主的好贴

  2. 双心距祭奠 于 2010-05-13 00:51:04发表:

    不错,说的好,大家鼓掌

  3. 影子老梁 于 2010-05-12 20:33:34发表:

    还怕黑社会,入党吧,那样什么也不怕了