第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
php 友好URL的实现(吐血推荐)
Oct 04 PHP
PHP 自定义错误处理函数trigger_error()
Mar 26 PHP
基于empty函数的输出详解
Jun 17 PHP
如何使用php输出时间格式
Aug 31 PHP
PHP函数http_build_query使用详解
Aug 20 PHP
php实现将上传word文件转为html的方法
Jun 03 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
详解EventDispatcher事件分发组件
Dec 25 PHP
PHP微信模板消息操作示例
Jun 29 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
Aug 24 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中批量修改文件后缀名的函数代码
2011/10/23 PHP
PHP Session机制简介及用法
2014/08/19 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
Zend Framework教程之视图组件Zend_View用法详解
2016/03/05 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
用js生产批量批处理执行命令
2008/07/28 Javascript
JS实现self的resend
2010/07/22 Javascript
js实现右下角可关闭最小化div(可用于展示推荐内容)
2013/06/24 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
脚本合并提升javascript性能示例
2014/02/24 Javascript
JS版的date函数(和PHP的date函数一样)
2014/05/12 Javascript
jquery编写日期选择器
2017/03/16 Javascript
在vue-cli中组件通信的方法
2017/12/16 Javascript
vue bus全局事件中心简单Demo详解
2018/02/26 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
Python学生信息管理系统修改版
2018/03/13 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
python2.7实现爬虫网页数据
2018/05/25 Python
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
简单了解python中对象的取反运算符
2019/07/01 Python
Django CBV类的用法详解
2019/07/26 Python
Python将string转换到float的实例方法
2019/07/29 Python
解决tensorflow训练时内存持续增加并占满的问题
2020/01/19 Python
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
纯css3制作煽动翅膀的蝴蝶的示例
2018/04/23 HTML / CSS
Linux内核产生并发的原因
2012/07/13 面试题
冬季施工防火方案
2014/05/17 职场文书
社区元宵节活动总结
2015/02/06 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书
人事部:年度述职报告范文
2019/07/12 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书