PHP4.0数组相关函数的应用

  由于PHP具有快速、可靠、跨平台应用、源代码开放等特点,使得PHP成为最受欢迎的服务器端Script语言之一,今天在这里我和大家谈谈PHP4.0中数组相关函数应用的问题。PHP 4.0提供了超过三十个PHP 3.0没有的数组相关函数以供程序设计员运用。这些函数里面常用的功能有:检查一个数组里面是否包含某个值,计算某个值在数组里面出现的次数,新增或者删除数组元素以及将数组元素重新排序等等,下面我将在这几方面与大家探讨。
  1.检查数组中的值
  如果有一个很大的数组,而你要做的只是检查数组里面是否包含某个你感兴趣的值,那么你可以使用in_array()函数来轻松地完成这项功能。下面这个例子的程序会在页面上显示「在数组中找不到你要找的值」("Not found in this array")这个字符串,因为你要找的字符串「Albert」的确不在$namesArray这个数组里面:
  <?$namesArray=array("Heart","Love","Boy","Mary","Paul","Merry","Jacky");
  $lookingFor="Albert";
  if(in_array($lookingFor,$namesArray)){
  echo"找到了!";
  }else{
  echo"在数组中找不到你要找的值!";
  }
  ?>
  如果你把变量$lookingFor的值改成「Mary」然后重新执行一次,那么这次画面上便会显示「找到了!」("You've found it!"),因为「Mary」这个值的确存在在$namesArray数组里面。如果你想知道数组所包含的元素总个数,那么你可以使用简单易用的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。
  PHP4.0提供了许多函数可以用来将数组的元素重新排序,但是在这里我只介绍基本的排序方式好让你能了解数组排序的过程:
  <?/*首先我们建立一个数组*/
  $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