第4章 数据处理-php数组的处理-郑阿奇


Posted in PHP onJuly 04, 2011

1. 数组的处理:

数组的创建和初始化:

arrary()函数创建数组,默认情况下0元素是数组的第一个元素,count()sizeof()函数获得数据元素的个数

2. 使用变量建立数组

compact()在当前的符号表中查找该变量名并将它添加到输出的数组中,变量名成为键名而变量的内容成为该键的值.

<?php 
$num=10; 
$str="string"; 
$array=array(1,2,3); 
$newarray=compact("num","str","array"); 
print_r($newarray); 
/*结果 
array([num]=10 [str]=---->string [array]=&gt;array([0]=&gt;1 [1]=&gt;2 [2]=&gt;3)) 
*/ 
?>


extract() 将数组中的单元转为变量

<?php 
$array=array("key1"=-->1,"key2"=2,"key3"=3); 
extract($array); 
echo "$key1 $key2 $key3";//输出1 2 3 
?>

3.使用两个数组创建一个数组

<?php 
//array_combine(array $keys, array $values) 

$a=array('green','red','yellow'); 
$b=array(' volcado','apple','banana'); 
$c=array_combine($a,$b); 
print_r($c); 

?>


4. 建立指定范围数组

range()

5.自动建立数组

检查数组是否存在某个键名和值可以使用。

array_key_exists()in_arrary函数,isset()检查数组中的键名,当键名为NULL时,isset()返回false,而array_key_exists()返回true。

  • array_search()函数用于检查数组的键值是否存在,不存在返回NULL。
  • key()函数可以取得数组当前单元的键名。
  • list()函数,将数组中值赋给指定的变量。在数组遍历中非常有用。
$arr=array("红色","蓝色","白色");
list($red,$blue,$white)=$arr;
echo $red; //红色
echo $blue; //蓝色
echo $white; // 白色
  • array_fill()和array_fill_keys()可以用给定的值班填充数组的值和键名
  • array_filp()可以交换数组中的键名和值,另外如果交换数组中有相同的值,则相同的值转换为键名后,值保留最后一个
  • array_keys()和array_values()函数可以取得数组中的键名和值,并保存到一个新的数组中。
  • array_splice(arry $input,int $offset[,int $length[,array $replacement]])将数组中的一个或多个单元删除并用其它值代替。
  • array_unique(),可以移除数组中的重复的值,返回一个新数组,并不会破坏原有的数组。

数组的遍历与输出

1. 使用while循环访问数组

应用whilelist()each()函数对数组遍历

2. for循环访问数组

3. 使用foreach循环访问数组

<?php 
$color=array("a"=-->"red","blue","white"); 
foreach($color as $value) 
{ 
echo $value."
";//输出数组的值 
} 
foreach($color as $key=&gt;$value) 
{ 
echo $key."=&gt;".$value."
";//输出数组的键名和值 
} 
?>

数组的排序

1. 升序排序 

  • sort(array $array[,int $sort_flags]) 注意:在对含有混合类型值的排序时要小尽,因为可能会产生错误。
  • asort()也可升序排序,是对数组的值进行排序,但它排序后的数组还保持键名和值之间的关联。
  • Ksort()对数组的键名排序,排序后键名和值之间的关联不改变。

2. 降序排序。

  • rsort()
  • arsort()
  • krsort()

3. 多维数组的排序。

需要自行重新设计遍历,默认函数库仅支持一维数组。

4. 对数组重新排序。

shuffle()
作用将数组用随机的顺序排列,并删除原有的键名

array_reverse()
将一个数组按相反顺序排序

5. 自然排序

natsort()对大小写敏感

6. 其它操作

合并数组

array_merge($array1,$array2)
合并后将一维数以后的数组都当做一个单元返回。
array_merge_recusive()可以在保持现有数组结构下对数组进行合并。

数组的栈操作.

  • 出栈: array_pop($arr);
  • 入栈: array_push($arr,var);

取得数组当前单元

  • current()函数能够获取数组内部指针指向的单元的值,但不移动数组的内部指针。
  • next($arr),将指针移到下一个单元。
  • end($arr)将指针移到尾部。

数组计算

  • count()
  • sizeof()

计算数组中的元素个数
array_count_values()函数可以计算数组中的一个值出现的次数

PHP 相关文章推荐
PHP个人网站架设连环讲(二)
Oct 09 PHP
几种显示数据的方法的比较
Oct 09 PHP
手把手教你使用DedeCms的采集的图文教程
Mar 11 PHP
PHP 出现乱码和Sessions验证问题的解决方法!
Dec 06 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
php Xdebug的安装与使用详解
Jun 20 PHP
PHP实现加密的几种方式介绍
Feb 22 PHP
PHP日期函数date格式化UNIX时间的方法
Mar 19 PHP
PHP使用mysqli操作MySQL数据库的简单方法
Feb 04 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
Nov 29 PHP
Yii2.0框架behaviors方法使用实例分析
Sep 30 PHP
KindEditor在php环境下上传图片功能集成的方法示例
Jul 20 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 #PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
Jul 03 #PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
Jul 03 #PHP
PHP的范围解析操作符(::)的含义分析说明
Jul 03 #PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
Jul 03 #PHP
PHP array_multisort()函数的使用札记
Jul 03 #PHP
PHP导出MySQL数据到Excel文件(fputcsv)
Jul 03 #PHP
You might like
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
ThinkPHP查询中的魔术方法简述
2014/06/25 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
firefox下input type=&quot;file&quot;的size是多大
2011/10/24 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
jquery 鼠标滑动显示详情应用示例
2014/01/24 Javascript
jquery基础教程之数组使用详解
2014/03/10 Javascript
js判断iframe内的网页是否滚动到底部触发事件
2014/03/18 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
Node.js学习入门
2017/01/03 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
2017/07/24 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
2018/03/08 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
python网络编程之文件下载实例分析
2015/05/20 Python
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
numpy数组拼接简单示例
2017/12/15 Python
Python元组拆包和具名元组解析实例详解
2018/03/26 Python
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
Python turtle库的画笔控制说明
2020/06/28 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
师范毕业生自我鉴定
2014/01/15 职场文书
工厂总经理岗位职责
2014/02/07 职场文书
学生检讨书怎么写
2014/10/09 职场文书
党员个人整改措施
2014/10/24 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis