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 相关文章推荐
新版mysql+apache+php Linux安装指南
Oct 09 PHP
PHP 读取文件内容代码(txt,js等)
Dec 06 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
May 06 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
Jul 28 PHP
php+mysqli批量查询多张表数据的方法
Jan 29 PHP
php验证码生成代码
Nov 11 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
php实现的简单中文验证码功能示例
Jan 03 PHP
php-fpm开启状态统计的方法详解
Jun 23 PHP
php工具型代码之印章抠图
Jul 18 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
Oct 16 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 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
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
PHP SQLite类
2009/05/07 PHP
UTF8编码内的繁简转换的PHP类
2009/07/09 PHP
基于php和mysql的简单的dao类实现crud操作功能
2014/01/27 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
2018/08/15 PHP
通过PHP实现获取访问用户IP
2020/05/09 PHP
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
javascript的BOM
2016/05/03 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
ES6/JavaScript使用技巧分享
2017/12/14 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
vue 循环加载数据并获取第一条记录的方法
2018/09/26 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
Python实现破解猜数游戏算法示例
2017/09/25 Python
python获取栅格点和面值的实现
2020/03/10 Python
使用python客户端访问impala的操作方式
2020/03/28 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
爱尔兰橄榄球店:Irish Rugby Store
2019/12/05 全球购物
南京某软件公司的.net面试题
2015/11/30 面试题
管理学院毕业生自荐信范文
2014/03/10 职场文书
父亲节活动策划方案
2014/08/24 职场文书
聘任证明怎么写
2015/03/02 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
iPhone13再次曝光
2021/04/15 数码科技
Python Numpy之linspace用法说明
2021/04/17 Python
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL