当前位置: 首页 > 图文教程 > 网络编程 > PHP > 学习使用PHP数组

PHP
让我们来编写一些PHP实用的脚本
七种缓存使用武器 为网站应用和访问加速
动态网页PHP中引用&的使用注意事项
在PHP中全面阻止SQL注入式攻击
PHP自带可以代替echo调试的unit函数
小结:PHP动态网页程序优化及高效提速问题
php对特殊语句查询结果进行数组排序
实例:用PHP技术解决网站URL格式过长的问题
小结:PHP动态网页程序两个有用的小技巧
动态网页中直接不让访问PHP程序文件
网页实例:详细介绍用PHP来编写网页记数器
菜鸟学习:动态网页PHP基础学习笔记
利用Apache实现禁止图片盗链
PHP编程中常用的三则技巧
PHP制作的网站意见在线反馈表
大型Web需求解决方案 PHP定位突出
PHP实例:精确到每一秒钟的在线人数显示代码
实用:动态网页制作技术PHP的十个应用技巧
常见php页面漏洞分析及相关问题解决
PHP和MYSQL制作动态网站开发经验之谈

学习使用PHP数组


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

PHP4.0中共有超过30个新的数组相关函数。其中很多通用函数允许你检查给定数组中是否存在特定对象、对数组元素计数、增加或删除元素,或对元素排序。

如果你有很大的一个数组,而所要完成的仅是找出一个存在的给定值,你可以使用in_array()以返回true或false。如下代码将输出“Notfoundinthisarray”——因为你将在$namesArray中寻找一个并不存在的“Alber”。

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

$lookingFor="Albert";

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

echo"You'vefoundit!";

}else{

echo"Notfoundinthisarray!";

}

?>

如果你改变了$lookingFor的值,将其变为“Mary”,你将得到消息“You'vefoundit!”——因为“Mary”是$namesArray的一部分。

如果希望对数组元素计数,你可以使用count()函数:

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

$count=count($namesArray);?>

$count值将为7。

你可以对任何数组添加元素,无论是在已存在数组的开始或末尾。你也可以使用函数以创建一个包含两个或多个数组元素的新数组。合并时每个数组将按需要的顺序排列。如果你的数组已经有内部的排序,你需要对新的合并数组重排序。

让我们从对已存在数组的末尾增添元素开始,使用函数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","greenbeans","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:greenbeans

7:asparagus

8:artichoke

9:corn

现在已经对数组进行了增加元素和合并,现在来练习删除元素函数。你可以使用函数array_pop()从一数组末尾删除一个元素。如果使用函数array_shift(),则从一数组开头删除一个元素。而实际上当你从数组删除元素时,此元素对你而言仍然可用——当你从已存在的数组中对元素进行pop或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>andfinally,in$popped:$popped";

?>

这将显示:

0:apple

1:orange

2:banana

3:kiwi

andfinally,in$popped:pear

Next,deleteanelementfromtheendofanarray:???????????

下面,从数组末尾删除某值:

<?

/*创建一数组*/

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

/*从数组头部移出某值*/

$shifted=array_shift($fruitArray);

/*列出新数组的内容以及移出的值*/

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

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

}

echo"<br>andfinally,in$shifted:$shifted";

?>

这将显示:

0:orange

1:banana

2:kiwi

3:pear

andfinally,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