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 相关文章推荐
php中根据某年第几天计算出日期年月日的代码
Feb 24 PHP
PHP $_FILES函数详解
Mar 09 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
Dec 19 PHP
PHP删除非空目录的函数代码小结
Feb 28 PHP
Mysql中分页查询的两个解决方法比较
May 02 PHP
10个php函数实用却不常见
Oct 13 PHP
详解PHP数组赋值方法
Nov 07 PHP
yii用户注册表单验证实例
Dec 26 PHP
ThinkPHP实现简单登陆功能
Apr 28 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
完美解决Thinkphp3.2中插入相同数据的问题
Aug 01 PHP
PHP操作Postgresql封装类与应用完整实例
Apr 24 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
一次编写,随处运行
2006/10/09 PHP
PHP Undefined index报错的修复方法
2011/07/17 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
2011/10/23 PHP
解析php php_openssl.dll的作用
2013/07/01 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
2019/01/10 PHP
js实现的网站首页随机公告随机公告
2007/03/14 Javascript
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
2011/07/04 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
JS删除字符串中重复字符方法
2014/03/09 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
Javascript简单实现面向对象编程继承实例代码
2015/11/27 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
2016/01/10 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
vue组件实例解析
2017/01/10 Javascript
原生js实现倒计时--2018
2017/02/21 Javascript
Vue获取DOM元素样式和样式更改示例
2017/03/07 Javascript
vue实现登录后页面跳转到之前页面
2018/01/07 Javascript
vue获取当前点击的元素并传值的实例
2018/03/09 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
Python中关于字符串对象的一些基础知识
2015/04/08 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
django框架实现一次性上传多个文件功能示例【批量上传】
2019/06/19 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
2021/02/01 Python
车祸赔偿收入证明
2014/01/09 职场文书
房屋出售协议书
2014/04/10 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
护士先进个人总结
2015/02/13 职场文书
Nginx开启Brotli压缩算法实现过程详解
2021/03/31 Servers
给numpy.array增加维度的超简单方法
2021/06/02 Python
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis