学习使用PHP数组


Posted in PHP onOctober 09, 2006

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 相关文章推荐
Discuz 6.0+ 批量注册用户名
Sep 13 PHP
Zend framework处理一个http请求的流程分析
Feb 08 PHP
PHP mcrypt可逆加密算法分析
Jul 19 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
Jul 23 PHP
使用php实现下载生成某链接快捷方式的解决方法
May 07 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
PHP命名空间(namespace)的动态访问及使用技巧
Aug 18 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
php类的定义与继承用法实例
Jul 07 PHP
PHP使用SOAP扩展实现WebService的方法
Apr 01 PHP
基于PHP常用文件函数和目录函数整理
Aug 17 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
PHP中创建并处理图象
Oct 09 #PHP
如何正确理解PHP的错误信息
Oct 09 #PHP
php+dbfile开发小型留言本
Oct 09 #PHP
用 php 编写的日历
Oct 09 #PHP
第十三节 对象串行化 [13]
Oct 09 #PHP
第七节 类的静态成员 [7]
Oct 09 #PHP
用PHP实现文件上传二法
Oct 09 #PHP
You might like
PHP 输出URL的快捷方式示例代码
2013/09/22 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
PHP简单实现合并2个数字键数组值的方法
2017/05/30 PHP
PHP通过GD库实现验证码功能示例
2019/02/23 PHP
PHP基于面向对象封装的分页类示例
2019/03/15 PHP
如何用javascript去掉字符串里的所有空格
2007/02/08 Javascript
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
Jquery动态添加及删除页面节点元素示例代码
2014/06/16 Javascript
jQuery实现隔行背景色变色
2014/11/24 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
三步搞定:Vue.js调用Android原生操作
2020/09/07 Javascript
vue 实现click同时传入事件对象和自定义参数
2021/01/29 Vue.js
详解Python中expandtabs()方法的使用
2015/05/18 Python
基于python实现微信模板消息
2015/12/21 Python
分享Python文本生成二维码实例
2016/01/06 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
2019/06/28 Python
python实现图片压缩代码实例
2019/08/12 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
django 读取图片到页面实例
2020/03/27 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
python中的列表和元组区别分析
2020/12/30 Python
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
女子职高个人自荐书
2014/02/01 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
软件项目经理岗位职责
2015/04/01 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技