当前位置: 首页 > 图文教程 > 网络编程 > PHP > 理解动态网页技术PHP与数组的应用

PHP
php面向对象全攻略 (十五) 多态的应用
php面向对象全攻略 (十六) 对象的串行化
php面向对象全攻略 (十七) 自动加载类
PHP parse_url 一个好用的函数
PHP 字符串分割和比较
全世界最小的php网页木马一枚 附PHP木马的防范方法
PHP 日期加减的类,很不错
PHP 日期时间函数的高级应用技巧
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Ha0k 0.3 PHP 网页木马修改版
PHP iconv 函数转gb2312的bug解决方法
关于页面优化和伪静态
使用zend studio for eclipse不能激活代码提示功能的解决办法
PHP 身份验证方面的函数
基于OpenCV的PHP图像人脸识别技术
用mysql触发器自动更新memcache的实现代码
php 数学运算验证码实现代码
PHP网站开发方案实例
PHP教程:挖掘细节提升网站性能
搜索引擎技术核心揭密(PHP)

理解动态网页技术PHP与数组的应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 136 ::
收藏到网摘: n/a

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

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

  
如果把$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