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

PHP
php sprintf()函数让你的sql操作更安全
php SQLite学习笔记与常见问题分析
使用PHP socke 向指定页面提交数据
jq的get传参数在utf-8中乱码问题的解决php版
PHP 得到根目录的 __FILE__ 常量
PHP 表单提交给自己
PHP4中session登录页面的应用
简单示例AJAX结合PHP代码实现登录效果代码
php+mysql写的简单留言本实例代码
php在线打包程序源码
php intval的测试代码发现问题
php5编程中的异常处理详细方法介绍
php include的妙用,实现路径加密
PHP中$_SERVER的详细参数与说明
php 全文搜索和替换的实现代码
PHP一些常用的正则表达式字符的一些转换
php自动跳转中英文页面
MySql中正则表达式的使用方法描述
说明的比较细的php 正则学习实例
新安装的MySQL数据库需要注意的安全知识

学习使用PHP数组


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