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

PHP
PHP 手机归属地查询 api
php 自写函数代码 获取关键字 去超链接
检查url链接是否已经有参数的php代码 添加 ? 或 &
PHP生成网页快照 不用COM不用扩展.
一步一步学习PHP(1) php开发环境配置
一步一步学习PHP(2):PHP类型
一步一步学习PHP(3) php 函数
一步一步学习PHP(4) php 函数 补充2
提高PHP编程效率 引入缓存机制提升性能
php 数组的合并、拆分、区别取值函数集
PHP采集相关教程之一 CURL函数库
IP138 IP地址查询小偷实现代码
php 生成静态页面的办法与实现代码详细版
一步一步学习PHP(5) 类和对象
一步一步学习PHP(6) 面向对象
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
PHP 截取字符串函数整理(支持gb2312和utf-8)
php foreach 使用&(与运算符)引用赋值要注意的问题
PHP IPV6正则表达式验证代码
用PHP ob_start()控制浏览器cache、生成html实现代码

学习使用PHP数组


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