比较全面的PHP数组的使用方法小结


Posted in PHP onSeptember 23, 2010

一、什么是数组
数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。
二、声明数据
在PHP中声明数组的方式主要有两种:
一是应用array()函数声明数组
一是直接为数组元素赋值飞飞Asp!技术乐园
<1>array()函数声明的数组的方式array([mixed...]) 参数mixed的语法为key=>value
如,


<?php
$array=array("1"=>"编","2"=>"程","3"=>"词","4"=>"典");
print_r($array);
echo "<br>";
echo $array[1]; //注意:下标默认是从0开始
echo $array[2];
echo $array[3];
echo $array[4];
?>

<2>直接为数组元素赋值。
如果在创建数组时不知所创建数组的大小,或在实际编写程序时数组的大小可能发生变化,采用这种数组创建的方法较好。
如,

<?php
$array[1]="I";
$array[2]="love";
$array[3]="PHP";
print_r($array); //输出所创建数组的结构
?>

三、数组的类型
PHP支持两种数组索引数组(indexed array)联合数组(associative array),前者使用数字作为键,后者使用字符串作为键。
四、输出数组
在PHP中对数组元素输出,可以通过echoprint语句来实现,但这只能对数组中某一元素进行输出;要将数组结构输出则要使用print_r()函数,其语法:print_r(mixed expression),参数expression为普通的整形、字符型或实型变量则输出该变量本身,如果该参数为数组,则按一定键值和元素的顺序显示出该数组中的所有元素。
五、数组的构造
一维数组:
当一个数组的元素是变量时,则称其为一维数组。飞飞As.p技术乐园
声明一位数组: 类型说明符 数组名[常量表达式];
二维数组:
当一个数组的元素是一个一位数组时,则称之为二维数组。
如,

<?php
$str = array (
"网络编程语言"=>array ("PHP","JSP","ASP"),
"体育项目"=>array ("m"=>"足球","n"=>"篮球"));
print_r ( $str) ;
?>

六、遍历数组
遍历数组中的所有元素是常用的一种操作,在遍历的过程中可以完成查询或其他功能。在PHP中遍历数组的方法有多种,下面介绍最常用的两种方法。
<1>使用foreach结构遍历数组;
<2>使用list()函数遍历数组,list()函数仅能用于数字索引的数组,且数字索引从0开始。
例:综合使用list()和each()认证用户登录:

<?php
//输出用户登录信息
while(list($name,$value)=each($_POST)){
if($name!="submit"){
echo "$name=$value<br>";
}
}
?>

七、统计数组元素个数
在PHP中,使用count()函数对数组中的元素个数进行统计,语法为:int coun(mixed array[,int mode]),其中参数array为必要参数,mode为可选参数,若选中COUNT——RECURSIVE(或1),本函数将递归地对数组数组。如,

<?php
$array = array("php" => array("PHP函数参考大全","PHP程序开发范例宝典","PHP数据库系统开发完全手册"),
"asp" => array("ASP经验技巧宝典")
); //声明一个二维数组
echo count($array,COUNT_RECURSIVE);//递归统计数组元素的个数,运行结果为6
?>

八、数组排序
<1>使用sort()和rsort()分别对数组进行升序和降序,如,
<?php
$array=array(5,26,37,18,9,42,88,66);
$array1=sort($array);
for($i=0;$i<count($array);$i++){
echo $array[$i]." ";
}
echo "<br>";
$array1=rsort($array);
for($i=0;$i<count($array);$i++){
echo $array[$i]." ";
}
?>
运行结果:
5 9 18 26 37 42 66 88
88 66 42 37 26 18 9 5
<2>使用ksort()和asort()对关联数组排序
如果使用了相关数组,在排序后还要保持关键字和值的排序一致,这是就需要使用ksort()和asort()函
数,如,
<?php
$array=array('php'=>1,'jsp'=>2,'asp'=>3);
ksort($array);
print_r($array);
echo "<br>";
asort($array);
print_r($array);
?>
运行结果:
Array ( [asp] => 3 [jsp] => 2 [php] => 1 )
Array ( [php] => 1 [jsp] => 2 [asp] => 3 )
PHP 相关文章推荐
php sprintf()函数让你的sql操作更安全
Jul 23 PHP
说明的比较细的php 正则学习实例
Jul 30 PHP
如何在PHP中使用正则表达式进行查找替换
Jun 13 PHP
php随机获取金山词霸每日一句的方法
Jul 09 PHP
PHP使用NuSOAP调用Web服务的方法
Jul 18 PHP
WordPress中注册菜单与调用菜单的方法详解
Dec 18 PHP
php时间计算相关问题小结
May 09 PHP
微信支付开发动态链接Native支付
Jul 12 PHP
redis查看连接数及php模拟并发创建redis连接的方法
Dec 15 PHP
PHP以json或xml格式返回请求数据的方法
May 31 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 PHP
PHP加MySQL消息队列深入理解
Feb 27 PHP
PHP之COOKIE支持详解
Sep 20 #PHP
PHPCMS的使用小结
Sep 20 #PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
Sep 12 #PHP
zen cart新进商品的随机排序修改方法
Sep 10 #PHP
php表单转换textarea换行符的方法
Sep 10 #PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
Sep 10 #PHP
php下使用curl模拟用户登陆的代码
Sep 10 #PHP
You might like
PHP分页显示制作详细讲解
2006/10/09 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
详解jquery事件delegate()的使用方法
2016/01/25 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
jQuery实现ToolTip元素定位显示功能示例
2016/11/23 Javascript
JS简单判断字符在另一个字符串中出现次数的2种常用方法
2017/04/20 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
Python基本数据类型详细介绍
2014/03/11 Python
使用C语言来扩展Python程序和Zope服务器的教程
2015/04/14 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
Python中Numpy ndarray的使用详解
2019/05/24 Python
python之当你发现QTimer不能用时的解决方法
2019/06/21 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
2020/03/02 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
2020/06/09 Python
python如何实现word批量转HTML
2020/09/30 Python
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
小学教师自我鉴定
2013/11/07 职场文书
丑小鸭教学反思
2014/02/03 职场文书
创建市级文明单位实施方案
2014/03/01 职场文书
母亲节演讲稿
2014/05/27 职场文书
五年级学生评语大全
2014/12/26 职场文书
奖学金主要事迹范文
2015/11/04 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书
A22国内电台短波广播频率表
2022/05/10 无线电