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水印技术
Feb 14 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
Yii框架调试心得--在页面输出执行sql语句
Dec 25 PHP
php计算到指定日期还有多少天的方法
Apr 14 PHP
Thinkphp实现自动验证和自动完成
Dec 19 PHP
Laravel搭建后台登录系统步骤详解
Jul 26 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
Aug 29 PHP
Zend Framework入门教程之Zend_View组件用法示例
Dec 09 PHP
PHP实现的简单AES加密解密算法实例
May 29 PHP
PHP获取链表中倒数第K个节点的方法
Jan 18 PHP
php命令行写shell实例详解
Jul 19 PHP
PHP array_shift()用法实例分析
Jan 07 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
通过html表格发电子邮件
2006/10/09 PHP
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
thinkphp自带验证码全面解析
2016/09/18 PHP
PHP 无限级分类
2017/05/04 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
JS 遮照层实现代码
2010/03/31 Javascript
javascript ajax的5种状态介绍
2014/08/18 Javascript
js实现九宫格图片半透明渐显特效的方法
2015/02/16 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
使用nvm和nrm优化node.js工作流的方法
2019/01/17 Javascript
微信小程序导航栏跟随滑动效果的实现代码
2019/05/14 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
[06:07]辉夜杯现场观众互动 “比谁远送显示器”
2015/12/26 DOTA
py中的目录与文件判别代码
2008/07/16 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
Python timer定时器两种常用方法解析
2020/01/20 Python
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
Nisbets爱尔兰:英国最大的厨房和餐饮设备供应商
2019/01/26 全球购物
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
一篇.NET面试题
2014/09/29 面试题
生物化工专业个人自荐信
2013/09/26 职场文书
机关单位动员会主持词
2014/03/20 职场文书
中文专业自荐书
2014/06/29 职场文书
机械机修工岗位职责
2014/08/03 职场文书
工作检讨书500字
2014/10/19 职场文书
励志语录:你若不勇敢,谁替你坚强
2019/11/08 职场文书
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫