PHP 数组实例说明


Posted in PHP onAugust 18, 2008

PHP4.0中共有超过30个新的数组相关函数。其中很多通用函数允许你检查给定数组中是否存在特定对象、对数组元素计数、增加或删除元素,或对元素排序。

如果你有很大的一个数组,而所要完成的仅是找出一个存在的给定值,你可以使用in_array()以返回true 或 false。如下代码将输出“Not found in this array”——因为你将在$namesArray中寻找一个并不存在的“Alber ”。

<? $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()函数:

<? $namesArray = array("Joe", "Jane", "Bob", "Mary", "Paul", "Eddie", "John");

$count = count($namesArray); ?>
$count值将为7。

你可以对任何数组添加元素,无论是在已存在数组的开始或末尾。你也可以使用函数以创建一个包含两个或多个数组元素的新数组。合并时每个数组将按需要的顺序排列。如果你的数组已经有内部的排序,你需要对新的合并数组重排序。

让我们从对已存在数组的末尾增添元素开始,使用函数array_push():

<? /* 创建原始数组 */

$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()。

<? /* 创建原始数组 */

$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()合并两个或更多的数组。

<? /* 创建原始数组 */

$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()函数从数组末尾删除一个值:

<?

/* 创建一数组*/

$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: ???????????

下面,从数组末尾删除某值:

<?

/* 创建一数组*/

$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

有很多函数可以帮助你对数组元素排序。但我将会演示基本的排序以帮助你了解其过程:

<? /* 创建原始数组 */

$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+DBM的同学录程序(1)
Oct 09 PHP
在PHP中读取和写入WORD文档的代码
Apr 09 PHP
一些使用频率比较高的php函数
Oct 03 PHP
php session处理的定制
Mar 16 PHP
PHP得到某段时间区间的时间戳 php定时任务
Apr 12 PHP
解析php中array_merge与array+array的区别
Jun 21 PHP
php 5.6版本中编写一个PHP扩展的简单示例
Jan 20 PHP
PHP判断网络文件是否存在的方法
Mar 12 PHP
WordPress中注册菜单与调用菜单的方法详解
Dec 18 PHP
PHP常用函数之格式化时间操作示例
Oct 21 PHP
详细分析PHP7与PHP5区别
Jun 26 PHP
PHP正则表达式之RCEService回溯
Apr 11 PHP
PHP获取网站域名和地址的代码
Aug 17 #PHP
php二分法在IP地址查询中的应用
Aug 12 #PHP
PHP调用MySQL的存储过程的实现代码
Aug 12 #PHP
PHP+MYSQL 出现乱码的解决方法
Aug 08 #PHP
php自动适应范围的分页代码
Aug 05 #PHP
用PHP读取RSS feed的代码
Aug 01 #PHP
IStream与TStream之间的相互转换
Aug 01 #PHP
You might like
数据库的日期格式转换
2006/10/09 PHP
php学习笔记之基础知识
2014/11/08 PHP
php替换字符串中间字符为省略号的方法
2015/05/04 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
超级有用的13个基于jQuery的内容滚动插件和教程
2011/07/31 Javascript
使用javascipt---实现二分查找法
2013/04/10 Javascript
禁用页面部分JavaScript方法的具体实现
2013/07/31 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
2016/06/17 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
解决vue+element 键盘回车事件导致页面刷新的问题
2018/08/25 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
Python import用法以及与from...import的区别
2015/05/28 Python
python之Character string(实例讲解)
2017/09/25 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
python selenium登录豆瓣网过程解析
2019/08/10 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
Python稀疏矩阵及参数保存代码实现
2020/04/18 Python
Django如何重置migration的几种情景
2021/02/24 Python
html5中的input新属性range使用记录
2014/09/05 HTML / CSS
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
大学生个人总结的自我评价
2013/10/05 职场文书
优秀语文教师事迹
2014/05/18 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
医学专业大学生求职信
2014/07/12 职场文书
教师四风问题整改措施
2014/09/25 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
个人投资合作协议书
2014/10/12 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
乐山大佛导游词
2015/02/02 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript
Go归并排序算法的实现方法
2022/04/06 Golang