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

PHP
php 获取可变函数参数的函数
自动把纯文本转换成Web页面的php代码
JieqiCMS 杰奇1.5注册机php源码
php 正则表达式小结
ajax php 实现写入数据库
用php将任何格式视频转为flv的代码
用PHP读取flv文件的播放时间长度
PHP 内存缓存加速功能memcached安装与用法
php getsiteurl()函数
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
不要轻信 PHP_SELF的安全问题
php 遍历数据表数据并列表横向排列的代码
php 获取远程网页内容的函数
PHP 危险函数全解析
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
PHP 裁剪图片成固定大小代码方法
封装一个PDO数据库操作类代码
php 从数据库提取二进制图片的处理代码
frename PHP 灵活文件命名函数 frename
PHP 5.0中多态性的实现方案浅析

学习使用PHP数组


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 154 ::
收藏到网摘: 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