第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 相关文章推荐
实用函数9
Nov 08 PHP
php中用socket模拟http中post或者get提交数据的示例代码
Aug 08 PHP
php统计时间和内存使用情况示例分享
Mar 13 PHP
php基于base64解码图片与加密图片还原实例
Nov 03 PHP
PHP 实现判断用户是否手机访问
Jan 21 PHP
PHP超牛逼无限极分类生成树方法
May 11 PHP
php解决和避免form表单重复提交的几种方法
Aug 31 PHP
PHP HTTP 认证实例详解
Nov 03 PHP
php版阿里云OSS图片上传类详解
Dec 01 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
Mar 12 PHP
Laravel框架下的Contracts契约详解
Mar 17 PHP
PHP并发场景的三种解决方案代码实例
Feb 27 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
总集篇&特番节目先行播出!《SAO Alicization War of Underworld》第2季度TV动画4月25日放送!
2020/03/06 日漫
PHP生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
js获取单选按钮的数据
2006/11/27 Javascript
js 鼠标点击事件及其它捕获
2009/06/04 Javascript
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/08/22 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
JS图片轮播与索引变色功能实例详解
2017/07/06 Javascript
解决vue-cli + webpack 新建项目出错的问题
2018/03/20 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
Angular2实现的秒表及改良版示例
2019/05/10 Javascript
python冒泡排序简单实现方法
2015/07/09 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
python监控进程脚本
2018/04/12 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
python实现小球弹跳效果
2019/05/10 Python
Python tkinter三种布局实例详解
2020/01/06 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
魔声耳机官方网站:Monster是世界第一品牌的高性能耳机
2016/10/26 全球购物
PHP数据运算类型都有哪些
2013/11/05 面试题
统计每一学生的平均成绩
2014/06/06 面试题
怎样有效的进行自我评价
2013/10/06 职场文书
会计电算化个人自我评价
2013/11/17 职场文书
医学专业毕业生个人的求职信
2013/12/04 职场文书
十佳班主任事迹材料
2014/01/18 职场文书
高中毕业自我评价
2014/02/08 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
重阳节标语大全
2014/10/07 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
2015年统计员个人工作总结
2015/07/23 职场文书
《秋天的图画》教学反思
2016/02/19 职场文书
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js