PHP数组实例总结与说明


Posted in PHP onAugust 23, 2011

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

<?php 
$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()函数:

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

$count值将为7。
您可以对任何数组添加元素,无论是在已存在数组的开始或末尾,您也可以使用函数以创建一个包含两个或多个数组元素的新数组,合并时每个数组将按需要的顺序排列,如果您的数组已经有内部的排序,您需要对新的合并数组重排序。
让我们从对已存在数组的末尾增添元素开始,使用函数array_push():

<?php 
/* 创建原始数组 */ 
$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():

<?php 
/* 创建原始数组 */ 
$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()合并两个或更多的数组:

<?php 
/* 创建原始数组 */ 
$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()函数从数组末尾删除一个值:

<?php 
/* 创建一数组*/ 
$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: ???????????

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

<?php 
/* 创建一数组*/ 
$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

有很多函数可以帮助您对数组元素排序。但我将会演示基本的排序以帮助您了解其过程:

<?php 
/* 创建原始数组 */ 
$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调用Oracle存储过程
Oct 09 PHP
截获网站title标签之家内容的例子
Oct 09 PHP
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
May 03 PHP
追求程序速度,而不是编程的速度
Apr 23 PHP
php adodb连接不同数据库
Mar 19 PHP
PHP XML数据解析代码
May 26 PHP
php中常用字符串处理代码片段整理
Nov 07 PHP
php使用codebase生成随机数
Mar 25 PHP
PHP反向代理类代码
Aug 15 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 PHP
Laravel如何友好的修改.env配置文件详解
Jun 07 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
Jun 29 PHP
JpGraph php柱状图使用介绍
Aug 23 #PHP
php报表之jpgraph柱状图实例代码
Aug 22 #PHP
PHP用SAX解析XML的实现代码与问题分析
Aug 22 #PHP
PHP IF ELSE简化/三元一次式的使用
Aug 22 #PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 #PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
Aug 18 #PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
Aug 15 #PHP
You might like
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
让mayfish支持mysqli数据库驱动的实现方法
2010/05/22 Javascript
jQuery使用ajaxSubmit()提交表单示例
2014/04/04 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
js动态生成Html元素实现Post操作(createElement)
2015/09/14 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
2016/01/05 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
整理关于Bootstrap过渡动画的慕课笔记
2017/03/29 Javascript
node.js操作mysql简单实例
2017/05/25 Javascript
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
Vue入门之animate过渡动画效果
2018/04/08 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
python33 urllib2使用方法细节讲解
2013/12/03 Python
Python库urllib与urllib2主要区别分析
2014/07/13 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
python实现ip代理池功能示例
2019/07/05 Python
python3.8与pyinstaller冲突问题的快速解决方法
2020/01/16 Python
深入理解Tensorflow中的masking和padding
2020/02/24 Python
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
Prototype如何更新局部页面
2013/03/03 面试题
产品销售员岗位职责
2013/12/18 职场文书
办公室综合文员岗位职责范本
2014/02/13 职场文书
入党积极分子个人总结
2015/03/02 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书
如何利用STAR法则制作留学文书?
2019/08/26 职场文书
Python 如何安装Selenium
2021/05/06 Python
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle