第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清除字符串中所有无用标签的方法
Dec 01 PHP
smarty模板引擎之分配数据类型
Mar 30 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
Jun 17 PHP
php+html5+ajax实现上传图片的方法
May 14 PHP
PHP实现批量检测网站是否能够正常打开的方法
Aug 23 PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 PHP
轻松实现php文件上传功能
Feb 17 PHP
详解php框架Yaf路由重写
Jun 20 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
laravel通用化的CURD的实现
Dec 13 PHP
PHP变量的作用范围实例讲解
Dec 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
DOTA2【瓜皮时刻】Vol.91 RTZ山史最惨“矿难”
2021/03/05 DOTA
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
2016/04/21 PHP
PHP swoole和redis异步任务实现方法分析
2019/08/12 PHP
用javascript实现点击链接弹出&quot;图片另存为&quot;而不是直接打开
2007/08/15 Javascript
js 文件引入实现代码
2010/04/23 Javascript
中止javascript执行的方法
2014/02/14 Javascript
详解AngularJS中的表达式使用
2015/06/16 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
Python中用sleep()方法操作时间的教程
2015/05/22 Python
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
python中set()函数简介及实例解析
2018/01/09 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
Python编程求质数实例代码
2018/01/31 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
如何使用selenium和requests组合实现登录页面
2020/02/03 Python
Python数组并集交集补集代码实例
2020/02/18 Python
购买一个高级域名:BuyDomains
2018/03/11 全球购物
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
全球最大的生存食品、水和装备专用在线市场:BePrepared.com
2020/01/02 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
中学生励志演讲稿
2014/04/26 职场文书
经营理念口号
2014/06/21 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
邀请书格式范文
2015/02/02 职场文书
2016高考寄语或鼓励的话语
2015/12/04 职场文书
python - timeit 时间模块
2021/04/06 Python
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android