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 05 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
Smarty实现页面静态化(生成HTML)的方法
May 23 PHP
详谈PHP程序Laravel 5框架的优化技巧
Jul 18 PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 PHP
基于php编程规范(详解)
Aug 17 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
php代码调试利器firephp安装与使用方法分析
Aug 21 PHP
thinkPHP框架RBAC实现原理分析
Feb 01 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 09 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
May 29 PHP
thinkphp5使html5实现动态跳转的例子
Oct 16 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+Ajax实现唯一校验实现代码[简单应用]
2011/11/29 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
基于PHP实现邮箱验证激活过程详解
2020/10/28 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
jQuery setTimeout()函数使用方法
2013/04/07 Javascript
JavaScript获取按钮所在form表单id的方法
2015/04/02 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
JavaScript制作简易计算器(不用eval)
2017/02/05 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
vue 优化CDN加速的方法示例
2018/09/19 Javascript
手把手教你如何使用nodejs编写cli命令行
2018/11/05 NodeJs
npm的lock机制解析
2019/06/20 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
解决Python传递中文参数的问题
2015/08/04 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
python实现一次性封装多条sql语句(begin end)
2020/06/06 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
2020/01/06 HTML / CSS
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
欧铁通票官方在线销售网站:Eurail.com
2017/10/14 全球购物
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
长青弘远的面试题
2012/06/09 面试题
刑事代理授权委托书
2014/09/17 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
python3 实现mysql数据库连接池的示例代码
2021/04/17 Python
使用Java去实现超市会员管理系统
2022/03/18 Java/Android