PHP 数组实例说明


Posted in PHP onAugust 18, 2008

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

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

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

$lookingFor = "Albert";

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

echo "You've found it!";

} else {

echo "Not found in this array!";

}

?>
如果你改变了$lookingFor的值,将其变为“Mary”,你将得到消息“You've found it!”——因为“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", "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(),则从一数组开头删除一个元素。而实际上当你从数组删除元素时,此元素对你而言仍然可用——当你从已存在的数组中对元素进行 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>and finally, in $popped: $popped";

?>

这将显示:

0 : apple

1 : orange

2 : banana

3 : kiwi

and finally, in $popped: pear

Next, delete an element from the end of an array: ???????????

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

<?

/* 创建一数组*/

$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

PHP 相关文章推荐
随机头像PHP版
Oct 09 PHP
PHP个人网站架设连环讲(三)
Oct 09 PHP
详解PHP显示MySQL数据的三种方法
Jun 05 PHP
PHP源码之 ext/mysql扩展部分
Jul 17 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
Jul 03 PHP
php实现的CSS更新类实例
Sep 22 PHP
php绘制一条弧线的方法
Jan 24 PHP
微信支付开发交易通知实例
Jul 12 PHP
php插入含有特殊符号数据的处理方法
Nov 24 PHP
PHP基于XMLWriter操作xml的方法分析
Jul 17 PHP
php操作redis命令及代码实例大全
Nov 19 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
Nov 27 PHP
PHP获取网站域名和地址的代码
Aug 17 #PHP
php二分法在IP地址查询中的应用
Aug 12 #PHP
PHP调用MySQL的存储过程的实现代码
Aug 12 #PHP
PHP+MYSQL 出现乱码的解决方法
Aug 08 #PHP
php自动适应范围的分页代码
Aug 05 #PHP
用PHP读取RSS feed的代码
Aug 01 #PHP
IStream与TStream之间的相互转换
Aug 01 #PHP
You might like
php smarty 二级分类代码和模版循环例子
2011/06/01 PHP
php重定向的三种方法分享
2012/02/22 PHP
php empty()与isset()区别的详细介绍
2013/06/17 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
jquery $.ajax入门应用一
2008/11/19 Javascript
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
2015/09/01 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
使用vuex的state状态对象的5种方式
2018/04/19 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
详解ES6中的Map与Set集合
2019/03/22 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
利用JS如何获取form表单数据
2019/12/19 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
python奇偶行分开存储实现代码
2018/03/19 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
2019/08/15 Python
python实发邮件实例详解
2019/11/11 Python
python实现简单俄罗斯方块
2020/03/13 Python
Python实现疫情通定时自动填写功能(附代码)
2020/05/27 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
大学生职业生涯十年规划书范文
2014/09/17 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
详解nodejs内置模块
2021/05/06 NodeJs
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python