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 5.0对象模型深度探索之对象复制
Mar 27 PHP
PHP 源代码压缩小工具
Dec 22 PHP
PHP几个数学计算的内部函数学习整理
Aug 06 PHP
支持中文字母数字、自定义字体php验证码代码
Feb 27 PHP
php多文件上传下载示例分享
Feb 20 PHP
php类声明和php类使用方法示例分享
Mar 29 PHP
将FCKeditor导入PHP+SMARTY的实现方法
Jan 15 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 PHP
[原创]php简单防盗链验证实现方法
Jul 09 PHP
php使用PDO获取结果集的方法
Feb 16 PHP
php mysql数据库操作类(实例讲解)
Aug 06 PHP
PHP模版引擎原理、定义与用法实例
Mar 29 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闭包(Closure)使用详解
2013/05/02 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
php 参数过滤、数据过滤详解
2015/10/26 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
phpcms中的评论样式修改方法
2016/10/21 PHP
PHP基于面向对象实现的留言本功能实例
2018/04/04 PHP
Javascript hasOwnProperty 方法 &amp; in 关键字
2008/11/26 Javascript
jQuery each()方法的使用方法
2010/03/18 Javascript
JQuery AJAX提交中文乱码的解决方案
2010/07/02 Javascript
javascript中的继承实例代码
2011/04/27 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
js 实现 input type=&quot;file&quot; 文件上传示例代码
2013/08/07 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
2014/06/14 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
2014/12/18 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
JS前端笔试题分析
2016/12/19 Javascript
关于vue-router路径计算问题
2017/05/10 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
2020/04/26 Javascript
Vue axios 跨域请求无法带上cookie的解决
2020/09/08 Javascript
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
深入理解Python中各种方法的运作原理
2015/06/15 Python
python编程开发之textwrap文本样式处理技巧
2015/11/13 Python
python魔法方法-属性访问控制详解
2016/07/25 Python
Python3 tkinter 实现文件读取及保存功能
2019/09/12 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
tensorflow实现测试时读取任意指定的check point的网络参数
2020/01/21 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
2020/10/21 Python
2014年上半年工作自我评价
2014/01/18 职场文书
关于运动会的口号
2014/06/07 职场文书
2014年质检工作总结
2014/11/26 职场文书
元宵节寄语大全
2015/02/27 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js
Ruby处理CSV数据方法详解
2022/04/18 Ruby