第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 相关文章推荐
一个MYSQL操作类
Nov 16 PHP
php中配置文件操作 如config.php文件的读取修改等操作
Jul 07 PHP
PHP获取表单所有复选框的值的方法
Aug 28 PHP
ThinkPHP实现二级循环读取的方法
Nov 03 PHP
php生成数字字母的验证码图片
Jul 14 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
php使用curl并发减少后端访问时间的方法分析
May 12 PHP
Yii2实现UploadedFile上传文件示例
Feb 15 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
PHP ADODB生成下拉列表框功能示例
May 29 PHP
php获取手机端的号码以及ip地址实例代码
Sep 12 PHP
Jsonp劫持学习
Apr 01 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中文字符截取防乱码
2008/03/28 PHP
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
php调用Google translate_tts api实现代码
2013/08/07 PHP
Zend Framework教程之Zend_Config_Xml用法分析
2016/03/23 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
jquery 经典动画菜单效果代码
2010/01/26 Javascript
JS模拟面向对象全解(二、类型与赋值)
2011/07/13 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
浅析JavaScript中浏览器的兼容问题
2016/04/19 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
python实现决策树
2017/12/21 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
opencv-python的RGB与BGR互转方式
2020/06/02 Python
10款最佳Python开发工具推荐,每一款都是神器
2020/10/15 Python
python time()的实例用法
2020/11/03 Python
python 实现简易的记事本
2020/11/30 Python
html5+svg学习指南之SVG基础知识
2014/12/17 HTML / CSS
师范生实习个人的自我评价
2013/09/28 职场文书
员工培训心得体会
2013/12/30 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
教师反腐倡廉演讲稿
2014/09/03 职场文书
指导老师鉴定意见
2015/06/05 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
详解CocosCreator项目结构机制
2021/04/14 Javascript
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技