第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简单的会话类代码
Aug 08 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 PHP
php检测数组长度函数sizeof与count用法
Nov 17 PHP
完整删除ecshop中获取店铺信息的API
Dec 24 PHP
PHP MVC框架路由学习笔记
Mar 02 PHP
php使用curl并发减少后端访问时间的方法分析
May 12 PHP
php的api数据接口书写实例(推荐)
Sep 22 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
Sep 26 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
php实现登录页面的简单实例
Sep 29 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 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(1) php开发环境配置
2010/02/15 PHP
php 调试利器debug_print_backtrace()
2012/07/23 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
js导入导出excel(实例代码)
2013/11/25 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
jQuery获取页面元素绝对与相对位置的方法
2015/06/10 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
JavaScript仿支付宝密码输入框
2015/12/29 Javascript
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
JS和Canvas实现图片的预览压缩和上传功能
2018/03/30 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
微信小程序实现多张图片上传功能
2020/11/18 Javascript
Python序列化基础知识(json/pickle)
2017/10/19 Python
python简单实现操作Mysql数据库
2018/01/29 Python
python实现简单登陆流程的方法
2018/04/22 Python
3分钟学会一个Python小技巧
2018/11/23 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
python Pillow图像处理方法汇总
2019/10/16 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
Python内置加密模块用法解析
2019/11/25 Python
python中os包的用法
2020/06/01 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
Schecker荷兰:狗狗用品和配件
2019/06/06 全球购物
优秀求职信范文分享
2014/01/26 职场文书
学雷锋活动总结范文
2014/04/25 职场文书
违纪学生保证书
2015/02/27 职场文书
前台岗位职责范本
2015/04/16 职场文书
谢师宴家长答谢词
2015/09/30 职场文书