PHP之数组学习


Posted in PHP onMay 29, 2011

今天学习了数组,可以说是PHP的数据应用中较重要的一种方式。PHP的数组函数众多,下面是我学习的小结,借此记之,便于以后鉴之……

一、数组定义:

数组的定义使用 array()方式定义,可以定义空数组:

<?php 
$number = array(1,3,5,7,9); 
//定义空数组 
$result = array(); 
$color =array("red","blue","green"); 
//自定义键值 
$language = (1=>"English",3=>"Chinese",5=>"Franch"); 
//定义二维数组 
$two = array( 
"color"=>array("red","blue"), //用逗号结尾 
"week"=>array("Monday","Friday") //最后一句没有标点 
); 
?>

二、创建数组:

创建数组包含的函数有compact()、

1.compact()函数——将一个或多个变量(包含数组)转换为数组:

array compact ( mixed $varname [, mixed $... ] )


<?PHP 
$number = "1,3,5,7,9"; 
$string = "I'm PHPer"; 
$array = array("And","You?"); 
$newArray = compact("number","string","array"); 
print_r ($newArray); 
?>

compact()函数用于将两个或多个变量转换为数组,当然也包含数组变量。其参数是变量的名称而非带有$全名。

相反的函数是extract()作用顾名思义就是将数组转换为单个的字符串,键值作为其字符串名称,数组值作为字符串的值。

运行结果:

Array ( [number] => 1,3,5,7,9 [string] => I'm PHPer [array] => Array ( [0] => And [1] => You? ) )

2.array_combine()——将两个数组重组成一个数组,一个作键值一个做的值:

array array_combine ( array $keys , array $values )

<?PHP 
$number = array("1","3","5","7","9"); 
$array = array("I","Am","A","PHP","er"); 
$newArray = array_combine($number,$array); 
print_r ($newArray); 
?>

array_combine函数不多说了,谁看了都明白

运行结果:

Array ( [1] => I [3] => Am [5] => A [7] => PHP [9] => er )

3.range()函数——创建指定范围的数组:

 不多说了,直接上实例——

<?PHP 
$array1 = range(0,100,10);//0为起始值,100为结束值,10为步进值(默认步进值为1). 
print_r($array1); 
echo"<br />"; 
$array2 = range("A","Z"); 
print_r($array2); 
echo "<br />"; 
$array3 = range("z","a"); 
print_r($array3); 
?>

range()函数的默认步进值是1!

运行结果:

Array ( [0] => 0 [1] => 10 [2] => 20 [3] => 30 [4] => 40 [5] => 50 [6] => 60 [7] => 70 [8] => 80 [9] => 90 [10] => 100 ) 
Array ( [0] => A [1] => B [2] => C [3] => D [4] => E [5] => F [6] => G [7] => H [8] => I [9] => J [10] => K [11] => L [12] => M [13] => N [14] => O [15] => P [16] => Q [17] => R [18] => S [19] => T [20] => U [21] => V [22] => W [23] => X [24] => Y [25] => Z ) 
Array ( [0] => z [1] => y [2] => x [3] => w [4] => v [5] => u [6] => t [7] => s [8] => r [9] => q [10] => p [11] => o [12] => n [13] => m [14] => l [15] => k [16] => j [17] => i [18] => h [19] => g [20] => f [21] => e [22] => d [23] => c [24] => b [25] => a )

4.array_fill()函数——填充数组函数:
<?PHP 
$array = range(1,10); 
$fillarray = range("a","d"); 
$arrayFilled = array_fill(0,5,$fillarray);//这里的$fillarray可以是字符串,如"test". 
echo "<pre>"; 
print_r ($arrayFilled); 
echo "</pre>"; 
$keys = array("string","2",9,"SDK","PK"); 
$array2 = array_fill_keys($keys,"testing"); 
echo "<pre>"; 
print_r ($array2); 
echo "</pre>"; 
?>

运行结果:
Array 
( 
[0] => Array 
( 
[0] => a 
[1] => b 
[2] => c 
[3] => d 
) 
[1] => Array 
( 
[0] => a 
[1] => b 
[2] => c 
[3] => d 
) 
[2] => Array 
( 
[0] => a 
[1] => b 
[2] => c 
[3] => d 
) 
[3] => Array 
( 
[0] => a 
[1] => b 
[2] => c 
[3] => d 
) 
[4] => Array 
( 
[0] => a 
[1] => b 
[2] => c 
[3] => d 
) 
) 
Array 
( 
[string] => testing 
[2] => testing 
[9] => testing 
[SDK] => testing 
[PK] => testing 
)

二、数组的遍历:

1.foreach遍历:

 foreach (array_expression as $value){}

 foreach (array_expression as $key => $value){}

闲话少说,上实例:

<?PHP 
$speed = array(50,120,180,240,380); 
foreach($speed as $keys=>$values){ 
echo $keys."=>".$values."<br />"; 
} 
?>

运行结果:
0=>50 
1=>120 
2=>180 
3=>240 
4=>380

2.while循环遍历:

while循环遍历一般结合list函数,以下是实例

<?PHP 
$staff = array( 
array("姓名","性别","年龄"), 
array("小张","男",24), 
array("小王","女",25), 
array("小李","男",23) 
); 
echo "<table border=2>"; 
while(list($keys,$value) = each($staff)){ 
list($name,$sex,$age) = $value; 
echo "<tr><td>$name</td><td>$sex</td><td>$age</td></tr>"; 
} 
echo "</table>"; 
?>

运行结果:
姓名 性别 年龄
小张 24
小王 25
小李 23
3.for循环遍历:
<?PHP 
$speed = range(0,220,20); 
for($i =0;$i<count($speed);$i++) { 
echo $speed[$i]." "; 
} 
?>

运行结果:
0 20 40 60 80 100 120 140 160 180 200 220
PHP 相关文章推荐
destoon复制新模块的方法
Jun 21 PHP
PHP中使用json数据格式定义字面量对象的方法
Aug 20 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
php外部执行命令函数用法小结
Oct 11 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
PHP递归的三种常用方式
Feb 28 PHP
PHP常见过waf webshell以及最简单的检测方法
May 21 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
Oct 24 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
Apr 26 PHP
windows系统php环境安装swoole具体步骤
Mar 04 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 #PHP
php连接数据库代码应用分析
May 29 #PHP
PHP文件上传原理简单分析
May 29 #PHP
php修改时间格式的代码
May 29 #PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
May 29 #PHP
PHP获取文件绝对路径的代码(上一级目录)
May 29 #PHP
php学习之变量的使用
May 29 #PHP
You might like
用PHP和MySQL保存和输出图片
2006/10/09 PHP
php操作sqlserver关于时间日期读取的小小见解
2009/11/29 PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
2012/10/05 PHP
基于PHP文件操作的详细诠释
2013/06/21 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
Laravel 实现关系模型取出需要的字段
2019/10/10 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
URI、URL和URN之间的区别与联系
2006/12/20 Javascript
跟着Jquery API学Jquery之一 选择器
2010/04/07 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
vue获取当前点击的元素并传值的实例
2018/03/09 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
10行代码实现微信小程序滑动tab切换
2018/12/28 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
python实现画循环圆
2019/11/23 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
2020/04/21 Python
Jmeter HTTPS接口测试证书导入过程图解
2020/07/22 Python
如何基于Django实现上下文章跳转
2020/09/16 Python
CSS3实现彩色进度条动画的示例
2020/10/29 HTML / CSS
html5教程画矩形代码分享
2013/12/04 HTML / CSS
怎样声明子类
2013/07/02 面试题
导游的职业规划书范文
2013/12/27 职场文书
本科生的职业生涯规划范文
2014/01/09 职场文书
研讨会主持词
2014/04/02 职场文书
工程项目经理任命书
2014/06/05 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers