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:风雨欲来 路在何方?
Oct 09 PHP
php按百分比生成缩略图的代码分享
May 10 PHP
php使用curl简单抓取远程url的方法
Mar 13 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
Jun 10 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
Sep 30 PHP
PHP会员找回密码功能的简单实现
Sep 05 PHP
详解PHP使用Redis存储session时的一个Warning定位
Jul 05 PHP
PHP使用PDO访问oracle数据库的步骤详解
Sep 29 PHP
php统计数组不同元素的个数的实例方法
Sep 26 PHP
PHP实现简单用户登录界面
Oct 23 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
基于PHP实现发微博动态代码实例
Dec 11 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
一个简洁的多级别论坛
2006/10/09 PHP
php microtime获取浮点的时间戳
2010/02/21 PHP
PHP strtok()函数的优点分析
2010/03/02 PHP
PHP生成UTF8文件的方法
2010/05/15 PHP
php5.3 废弃函数小结
2010/05/16 PHP
PHP json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
初识php MVC
2014/09/10 PHP
PHP实现提取多维数组指定一列的方法总结
2019/12/04 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
2017/06/13 jQuery
React组件生命周期详解
2017/07/03 Javascript
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
gulp安装以及打包合并的方法教程
2017/11/19 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
vue响应式系统之observe、watcher、dep的源码解析
2019/04/09 Javascript
小程序登录/注册页面设计的实现代码
2019/05/24 Javascript
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
python2 与 pyhton3的输入语句写法小结
2018/09/10 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
Python分支语句与循环语句应用实例分析
2019/05/07 Python
python绘制多个子图的实例
2019/07/07 Python
python在新的图片窗口显示图片(图像)的方法
2019/07/11 Python
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
售后主管岗位职责
2013/12/08 职场文书
实习鉴定范文
2013/12/19 职场文书
中秋手机店促销方案
2014/06/16 职场文书
学风建设演讲稿
2014/09/12 职场文书