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
Linux下ZendOptimizer的安装与配置方法
Apr 12 PHP
php 运行效率总结(提示程序速度)
Nov 26 PHP
打造超酷的PHP数据饼图效果实现代码
Nov 23 PHP
php模板原理讲解
Nov 13 PHP
11个PHPer必须要了解的编程规范
Sep 22 PHP
php发送与接收流文件的方法
Feb 11 PHP
PHP实现简单爬虫的方法
Jul 29 PHP
简单了解WordPress开发中update_option()函数的用法
Jan 11 PHP
简单的pgsql pdo php操作类实现代码
Aug 25 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
Jul 03 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
Oct 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
fckeditor上传文件按日期存放及重命名方法
2015/05/22 PHP
网页的分页下标生成代码(PHP后端方法)
2016/02/03 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
laravel执行php artisan migrate报错的解决方法
2019/10/09 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
JavaScript入门学习书籍推荐
2008/06/12 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
2012/12/11 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
JavaScript判断数组重复内容的两种方法(推荐)
2016/06/06 Javascript
第九篇Bootstrap导航菜单创建步骤详解
2016/06/21 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
详解Vue中watch的详细用法
2018/11/28 Javascript
vue实现的树形结构加多选框示例
2019/02/02 Javascript
python取代netcat过程分析
2018/02/10 Python
VScode编写第一个Python程序HelloWorld步骤
2018/04/06 Python
python实现反转部分单向链表
2018/09/27 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
Python使用openpyxl复制整张sheet
2021/03/24 Python
社区学习十八大感想
2014/01/22 职场文书
写自荐信三大法宝
2014/01/24 职场文书
甜美蛋糕店创业计划书
2014/01/30 职场文书
国际金融专业自荐信
2014/07/05 职场文书
安娜卡列尼娜观后感
2015/06/11 职场文书
delete in子查询不走索引问题分析
2022/07/07 MySQL