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 相关文章推荐
apache+mysql+php+ssl服务器之完全安装攻略
Sep 05 PHP
一家之言的经验之谈php+mysql扎实个人基本功
Mar 27 PHP
php 使用GD库为页面增加水印示例代码
Mar 24 PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 PHP
ThinkPHP模板Switch标签用法示例
Jun 30 PHP
php解析json数据实例
Aug 19 PHP
PHP四种基本排序算法示例
Apr 09 PHP
最新制作ThinkPHP3.2.3完全开发手册
Nov 23 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
Mar 21 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
May 20 PHP
PHP将字符串首字母大小写转换的实例
Jan 21 PHP
使用laravel根据用户类型来显示或隐藏字段
Oct 17 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
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
BootStrap tooltip提示框使用小结
2016/10/26 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
详解angularjs中如何实现控制器和指令之间交互
2017/05/31 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
Angular(5.2-&gt;6.1)升级小结
2018/12/27 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
2019/03/06 Javascript
JS实现json数组排序操作实例分析
2019/10/28 Javascript
解决vue.js提交数组时出现数组下标的问题
2019/11/05 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
[10:53]2018DOTA2国际邀请赛寻真——EG
2018/08/11 DOTA
在Python中执行系统命令的方法示例详解
2017/09/14 Python
python去除字符串中的换行符
2017/10/11 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
Django框架模板用法入门教程
2019/11/04 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
python3 xpath和requests应用详解
2020/03/06 Python
HTML5注册表单的自动聚焦与占位文本示例代码
2013/07/19 HTML / CSS
JSF如何进行表格处理及取值
2012/08/06 面试题
工业学校毕业生自荐书
2014/01/03 职场文书
关心下一代工作先进事迹
2014/08/15 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
开学第一周总结
2015/07/16 职场文书
军事理论课感想
2015/08/11 职场文书
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript