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录入页面中动态从数据库中提取数据的实现
Oct 09 PHP
关于时间计算的结总
Dec 06 PHP
使用PHP实现密保卡功能实现代码&amp;lt;打包下载直接运行&amp;gt;
Oct 09 PHP
更改localhost为其他名字的方法
Feb 10 PHP
PHP7.0版本备注
Jul 23 PHP
织梦sitemap地图实时推送给百度的教程
Aug 03 PHP
基于PHP实现数据分页显示功能
May 26 PHP
PHP GD库相关图像生成和处理函数小结
Sep 30 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
Nov 20 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
PHP 裁剪图片
Mar 09 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将字符分解为多个字符串的方法
2014/11/22 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
FireFox中textNode分片的问题
2007/04/10 Javascript
jquery创建div 实现代码
2009/04/27 Javascript
Google AJAX 搜索 API实现代码
2010/11/17 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
JavaScript中的包装对象介绍
2015/01/27 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
layui文件上传实现代码
2017/05/20 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
微信小程序图表插件wx-charts用法实例详解
2019/05/20 Javascript
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
解决python 输出是省略号的问题
2018/04/19 Python
对numpy数据写入文件的方法讲解
2018/07/09 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
linux下安装python3和对应的pip环境教程详解
2019/07/01 Python
python烟花效果的代码实例
2020/02/25 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
大学生旅游业创业计划书
2014/01/29 职场文书
乡镇个人对照检查材料
2014/08/22 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
党的群众路线教育实践活动个人对照检查材料(企业)
2014/11/05 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
CocosCreator如何实现划过的位置显示纹理
2021/04/14 Javascript
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang
Java 泛型详解(超详细的java泛型方法解析)
2021/07/02 Java/Android
nginx请求限制配置方法
2021/07/09 Servers
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫