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 相关文章推荐
解决phpmyadmin 乱码,支持gb2312和utf-8
Nov 20 PHP
计算一段日期内的周末天数的php代码(星期六,星期日总和)
Nov 12 PHP
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
Jun 09 PHP
php下保存远程图片到本地的办法
Aug 08 PHP
PHP面向对象教程之自定义类
Jun 10 PHP
ThinkPHP框架设计及扩展详解
Nov 25 PHP
PHP实用函数分享之去除多余的0
Feb 06 PHP
php经典算法集锦
Nov 14 PHP
yii2.0实现创建简单widgets示例
Jul 18 PHP
laravel自定义分页效果
Jul 23 PHP
Thinkphp5.0框架视图view的循环标签用法示例
Oct 12 PHP
PHP7 windows支持
Mar 09 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
php四种基础算法代码实例
2013/10/29 PHP
PHP变量赋值、代入给JavaScript中的变量
2015/06/29 PHP
短信提示使用 特效
2007/01/19 Javascript
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
Jquery方式获取iframe页面中的 Dom元素
2014/05/07 Javascript
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
node.js发送邮件email的方法详解
2017/01/06 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
javascript中的闭包概念与用法实践分析
2019/07/26 Javascript
layui表单验证select下拉框实现验证的方法
2019/09/05 Javascript
爬山算法简介和Python实现实例
2014/04/26 Python
python控制台英汉汉英电子词典
2020/04/23 Python
python executemany的使用及注意事项
2017/03/13 Python
python实现感知器算法详解
2017/12/19 Python
python实现Floyd算法
2018/01/03 Python
浅析Python3爬虫登录模拟
2018/02/07 Python
python实现本地批量ping多个IP的方法示例
2019/08/07 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
python列表推导式操作解析
2019/11/26 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
python中什么是面向对象
2020/06/11 Python
Python浮点型(float)运算结果不正确的解决方案
2020/09/22 Python
Booking.com德国:预订最好的酒店和住宿
2020/02/16 全球购物
小学生家长评语集锦
2014/01/30 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
运动会1000米加油稿
2015/07/21 职场文书
清明扫墓感想
2015/08/11 职场文书
会议主持词通用版
2019/04/02 职场文书
浅谈Python中的正则表达式
2021/06/28 Python