我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网络编程 > PHP专区 > PHP的十个高级技巧 3
热门文章排行
热门文章排行 检查email地址格式的代码(01-11)
PHP操作文件问答(01-11)
PHP安装攻略:安装并配置PHP(10-23)
PHP的十个高级技巧 4(10-23)
PHP文本数据库的搜索方法(10-19)
精采文章排行
精采文章排行 PHP连接MYSQL的两种方法(11-15)
PHP和MySQL开发的8个技巧(10-23)
PHP安装攻略:安装并配置PHP(10-23)
php+mysql扎实个人基本功(10-23)
PHP编程常用技巧四则(10-23)
技术专题推荐
网管论坛交流
 

PHP的十个高级技巧 3 

作者:   来源:   点击:   日期:2006-10-23

 

五、丰富的数组函数 
  PHP 4.0中新添加了30个与组数有关的函数,其中一些常见的函数可以判断一个数组中是否包含某个元素,对一个数组中的元素进行计数,添加或删除数组中的元素或者对数组中的元素进行排序。 

  如果有一个很大的数组,而你需要找出其中是否包含一个特定的元素,就可以使用in_array()。下面的例子将显示“Not found in this array”,因为在一个名字为$namesArray的数组中查找Albert,而在$namesArray数组中不存在这样一个元素。 

  <? $namesArray = array("Joe", "Jane", "Bob", "Mary", "Paul", "Eddie", "John"); 

  $lookingFor = "Albert"; 

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

  echo "You’ve found it!"; 

  } else { 

  echo "Not found in this array!"; 

  } 

  ?> 

  如果把$lookingFor的值改为Mary,就会得到“You’ve found it!”的信息,因为Mary是$namesArray数组中的一个元素。 

  如果要对一个数组中的元素个数进行计数,只要简单地使用count()函数即可: 

  <? $namesArray = array("Joe", "Jane", "Bob", "Mary", "Paul", "Eddie", "John"); 

  $count = count($namesArray); ?> 

  返回的$count的值为7。 

  可以在一个数组的开头或结尾处添加元素,还可以使用array_merge()来建立一个包含二个或更多数组中元素的新数组,合并时,元素的顺序会按指定的顺序排列,如果原来的数组是被排过序的,在合并后需要对它重新排序。 

  我们可以首先利用array_push()在数组的结尾处添加一个元素: 

  <? /* 建立一个数组 */ 

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

  /* 向数组中添加元素 */ 

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

  /*显示每个元素及其序号*/ 

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

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

  } 

  ?> 

  运行上面的程序将得到下面的结果: 

  0 : apple 

  1 : orange 

  2 : banana 

  3 : kiwi 

  4 : pear 

  5 : grape 

  6 : pineapple 

  7 : tomato 

  如果需要在数组的开头添加元素,其代码与上面的代码差不多,唯一的不同之处是需要用array_unshift()代替array_push()。 

  <? 

  /* 建立一个数组*/ 

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

  /* 向数组中添加元素*/ 

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

  /* 显示每个元素及其序号*/ 

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

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

  } 

  ?> 

  运行上面的程序将得到下面的结果: 

  0 : grape 

  1 : pineapple 

  2 : tomato 

  3 : apple 

  4 : orange 

  5 : banana 

  6 : kiwi 

  7 : pear 

  array_merge()函数可以把二个或更多的数组合并为一个数组。 

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

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

  /*/建立第二个数组*/ 

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

  /*把这二个数组合并为一个数组*/ 

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

  /* 显示每个元素及其序号*/ 

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

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

  } 

  ?> 

  运行上面的脚本将得到下面的结果: 

  0 : apple 

  1 : orange 

  2 : banana 

  3 : kiwi 

  4 : pear 

  5 : carrot 

  6 : green beans 

  7 : asparagus 

  8 : artichoke 

  9 : corn 

  现在我们已经掌握了如何添加元素和合并数组,我们再来看看如何从一个数组中删除元素。从一个数组的末尾删除一个元素可以使用array_pop()函数,使用array_shift()函数可以从一个数组的开头删除一个元素。尽管使用array_pop()或 array_shift()从数组中删除了一个元素,你还可以把这个元素当作一个变量来使用。 

  使用array_pop()从一个数组的末尾删除一个元素: 

  <? 

  /*建立一个数组*/ 

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

  /* 从数组的末尾删除一个元素*/ 

  $popped = array_pop($fruitArray); 

  /* 显示删除后数组的内容和你删除的元素*/ 

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

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

  } 

  echo "<br>and finally, in $popped: $popped"; 

  ?> 

  运行上面的脚本会得到下面的结果: 

  0 : apple 

  1 : orange 

  2 : banana 

  3 : kiwi 

  and finally, in $popped: pear 

  我们再来讨论一个从一个数组的末尾删除元素的例子: 

  <? 

  /* 建立一个数组*/ 

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

  /*从一个数组的开始删除一个元素*/ 

  $shifted = array_shift($fruitArray); 

  /* 显示删除后数组的内容和你删除的元素*/ 

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

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

  } 

  echo "<br>and finally, in $shifted: $shifted"; 

  ?> 

  运行上述脚本会得到如下的显示结果: 

  0 : orange 

  1 : banana 

  2 : kiwi 

  3 : pear 

  and finally, in $shifted: apple 

  另外还有几个函数可以对数组中的元素进行排序,但在这里我们将只简要介绍基本的排序函数,说明排序的过程: 

  <? /*建立一个数组*/ 

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

  /* 对数组进行排序*/ 

  sort($fruitArray); 

  /*显示每个元素及其序号*/ 

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

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

  } 

  ?> 

  运行上述的脚本会得到如下的显示结果: 

  0 : apple 

  1 : banana 

  2 : kiwi 

  3 : orange 

  4 : pear 

 

 



文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·PHP的十个高级技巧 2 ·PHP的十个高级技巧 4
·PHP的十个高级技巧 1 ·PHP和MySQL开发的8个技巧
·JSP技巧:发送动态图像 ·PHP编程常用技巧四则

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。