第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+Html+缓存
Nov 25 PHP
整合了前面的PHP数据库连接类~~做成一个分页类!
Nov 25 PHP
php替换超长文本中的特殊字符的函数代码
May 22 PHP
ThinkPHP页面跳转success与error方法概述
Jun 25 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
Oct 30 PHP
php计算两个文件相对路径的方法
Mar 14 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
PHP基于MySQL数据库实现对象持久层的方法
Jun 17 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
Dec 28 PHP
php结合md5实现的加密解密方法
Jan 25 PHP
php判断用户是否关注微信公众号
Jul 22 PHP
php实现当前页面点击下载文件的简单方法
Sep 22 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
单位速度在实战中的运用
2020/03/04 星际争霸
php实现mysql数据库备份类
2008/03/20 PHP
PHP简洁函数小结
2011/08/12 PHP
关于zend studio 出现乱码问题的总结
2013/06/23 PHP
PHP程序员基本要求和必备技能
2014/05/09 PHP
php简单socket服务器客户端代码实例
2015/05/18 PHP
PHP未登录自动跳转到登录页面
2016/12/21 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
CheckBox 如何实现全选?
2006/06/23 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
node.js 中间件express-session使用详解
2017/05/20 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
2018/03/13 Javascript
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
2019/10/27 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
django中SMTP发送邮件配置详解
2019/07/19 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
python输出第n个默尼森数的实现示例
2020/03/08 Python
英国护肤品购物网站:Beauty Expert
2016/08/19 全球购物
中学生学习生活的自我评价
2013/10/26 职场文书
幼儿园家长寄语
2014/04/02 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
迎新年主持词
2015/07/06 职场文书
2019年个人工作总结范文(3篇)
2019/08/27 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers
cypress测试本地web应用
2022/06/01 Javascript