第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中通过smtp发邮件的类,测试通过
Jan 22 PHP
实用函数4
Nov 08 PHP
PHP strtotime函数详解
Dec 18 PHP
使ecshop模板中可引用常量的实现方法
Jun 02 PHP
linux iconv方法的使用
Oct 01 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 PHP
PHP反射使用实例和PHP反射API的中文说明
Jul 02 PHP
PHP中Enum(枚举)用法实例详解
Dec 07 PHP
php对象工厂类完整示例
Aug 09 PHP
ThinkPHP框架实现FTP图片上传功能示例
Apr 08 PHP
PHP程序员简单的开展服务治理架构操作详解(一)
May 14 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 七大优势分析
2009/06/23 PHP
用来解析.htgroup文件的PHP类
2012/09/05 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
简略的前端架构心得&amp;&amp;基于editor为例子的编码小技巧
2010/11/25 Javascript
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
第一篇初识bootstrap
2016/06/21 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
微信小程序 animation API详解及实例代码
2016/10/08 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
Vuejs开发环境搭建及热更新【推荐】
2018/09/07 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
2020/03/26 Javascript
小程序中手机号识别的示例
2020/12/14 Javascript
python自动安装pip
2014/04/24 Python
python3 shelve模块的详解
2017/07/08 Python
python+matplotlib绘制旋转椭圆实例代码
2018/01/12 Python
python中的tcp示例详解
2018/12/09 Python
如何在Cloud Studio上执行Python代码?
2019/08/09 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
Marriott中国:万豪国际酒店查询预订
2016/09/02 全球购物
Shein英国:女性时尚网上商店
2019/04/10 全球购物
C语言如何决定使用那种整数类型
2016/11/26 面试题
天游软件面试
2013/11/23 面试题
学校消防安全制度
2014/01/30 职场文书
人事专员岗位说明书
2014/07/29 职场文书
2014年小学生教师节演讲稿范文
2014/09/10 职场文书
教师党员个人总结
2015/02/10 职场文书
2015年护士工作总结范文
2015/03/31 职场文书
不服劳动仲裁起诉书
2015/05/20 职场文书
2015年支教教师工作总结
2015/07/22 职场文书
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL
利用Java连接Hadoop进行编程
2022/06/28 Java/Android