All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
利用PHP的OOP特性实现数据保护_php资料_编程技术
用javascript实现评估用户输入密码的强度_JavaScript技术_编程技术
初学,ASP.NET,AJAX,(二):小试,ScriptManager_[Asp.Net教程]
剖析SQL Server 2005查询通知之基础篇_[SQL Server教程]
ASP.Net下两种全局变量的设置和读取方法_[Asp.Net教程]
ASP.NET中的异常处理_[Asp.Net教程]
专家讲解用.NET编写串口程序的一点心得_.net资料_编程技术
SQL初学者教程:学会使用SQL UPDATE语句_[SQL Server教程]
delphi类的定义以及类中的保留字
asp.net2.0服务器控件之ImageButton控件
Reading number is top 10 pictures
支持判处贩卖儿童者死刑
人造器官和铁肺人
一万二一支的万珂,用得真心肉疼。
不知名的美女素颜照1
运动的范冰冰3
Ashlynn Brooke a group sexy photo4
HongMenYan premiere XinLiangGong clairvoyant outfit PK YiFeiLiu2
Discharge accidentally Actresses by the breast4
A resort photographed beautiful young woman change clothes process vomiting blood2
清扫五脏垃圾,我有绝招
Download software ranking
The Bermuda triangle1
Unix video tutorial18
Boxer's Top ten classic battle8
仙剑奇侠传98硬盘WINXP版
Sora aoi - one of more PK
虚拟机5.5.3版
Red cliff
变速齿轮3.26
Tram sex maniac 2 (H) rar bag6
ASP.NET.2.0.XML.高级编程(第3版)
aaa published in(发表于) 2013/12/24 5:51:40 Edit(编辑)
入门:PHP编程“数组”的基础知识_php资料_编程技术

入门:PHP编程“数组”的基础知识_php资料_编程技术

入门:PHP编程“数组”的基础知识_php资料_编程技术-你的首页-uuhomepage.com

关于数组:

PHP中的数组是复杂的,并且比许多其他高级语言中的数组更灵活。

数组array是一组有序的变量,其中每个变量被叫做一个元素。

数组可以被编号或者相关联,也就是数组的元素可以分别根据数字索引或文本化字符串来访问PHP中,数组可以包含标量(整数,布尔,字符串,浮点数)或复合值(对象甚至其他数组),并且可以包含不同类型的值

1。创建数组

PHP提供创建数组的array()语言结构
$numbers = array(5,4,3,2,1);
$words = array("web","database","application");
echo $numbers[2];
echo $words[0];
---------------------输出结果----------------------------------------
3web
---------------------------------------------------------------------
默认情况下,数组的第一个元素的索引为0。数组中包含的值可以通过使用方括号[]语法来检索和修改
$numbers[5] = 0;
数字化索引的数组可以创建位从任何索引值开始
$numbers = array(1=>"one","two","three","four");
也可以松散的索引
$numbers = array(1=>"one",3=>"three",5=>"zero");
可以通过给变量赋予一个没有参数的array()来创建空数组。然后可以通过使用方括号[]语法来添加值
$error = array();
$error[] = "no error!!!";
$error[] = "second error!!!";
echo $error[0];
echo $error[1];
---------------------输出结果----------------------------------------
no error!!!second error!!!
---------------------------------------------------------------------

2.关联数组

关联数组(associative array)使用字符串索引(或键)来访问存储在数组中的值
关联索引的数组对于数据库层交互非常有用
$newarray = array("first"=>1,"second"=>2,"third"=>3);
echo $newarray["second"];
$newarray["third"]=5;
echo $newarray["third"];
---------------------输出结果----------------------------------------
25
---------------------------------------------------------------------

3.异构数组

PHP数组可以包含不同种类的值

$mixedBag = array("cat",42,8.5,false);
var_dump(mixedBag);

4.多维数组

创建包含数组的数组,数组维数没有限制,但是一般很难想象一个多于三维的数组的用法
$planets = array(array("MM",1,2),array("NN",3,4),array("BB",5,6),array("VV",7,8));
print $planets[2][0];
$planets2 = array("MM"=>array("AA"=>1,"SS"=>2),
"NN"=>array("DD"=>3,"FF"=>4),
"BB"=>array("GG"=>6,"HH"=>7,"PP"=>array("haha!!!!")),
"VV"=>array("JJ"=>6,"KK"=>7,"LL"=>array("one","two")));
print $planets2["VV"]["LL"][0];
---------------------输出结果----------------------------------------
BBone
---------------------------------------------------------------------

5.使用循环访问数组

遍历数组的方法有很多(使用while,for循环)或者foreach语句,最容易的是foreach 语句
$length = array(0,107,202,400,475);
//将厘米转换为寸
for($i=0;$i<5;$i++)
{
echo ($length[$i]/3);
}
$j=0;
while(isset($length[$j]))
{
echo ($length[$j]/3);
$j++;
}
foreach($length as $cm)
{
echo ($cm/3);
}

---------------------输出结果----------------------------------------
0
35.6666666667
67.3333333333
133.333333333
158.333333333
0
35.6666666667
67.3333333333
133.333333333
158.333333333
0
35.6666666667
67.3333333333
133.333333333
158.333333333

---------------------------------------------------------------------
foreach还可以迭代关联数组的值
$sound = array("cow"=>"moo","dog"=>"woof",
"pig"=>"oink","duck"=>"quack");
foreach ($sound as $animal=>$noice)
{
echo "$animal 得叫声是这样的 $noice $noice......";
}
---------------------输出结果----------------------------------------
cow 的叫声是这样的 moo moo......
dog 的叫声是这样的 woof woof......
pig 的叫声是这样的 oink oink......
duck 的叫声是这样的 quack quack......

---------------------------------------------------------------------
6.使用数组指针

与存储在数组中的键和关联值一起,PHP还拥有一个指向数组当前元素的内部索引,
有几个函数使用并更新该数组索引来提供对数组元素的访问
$a = array("a","b","c","d","e","f");
echo current($a);
each($a);
key($a);//目前数组的指针,返回其索引
echo current($a);//当前元素的值
each($a);//返回当前元素的值并将内部索引指向下一个元素
each($a);
echo current($a);
next($a);//指向下一个元素
echo current($a);
prev($a);//指向上一个元素
echo current($a);
end($a);//指向最后一个元素
echo current($a);
key($a);
echo current($a);
---------------------输出结果----------------------------------------
abdedff
---------------------------------------------------------------------

7.基本的数组函数

integer count(mixed var)//在数组中返回元素的个数,也可用于任何的变量
number max(array numbers)//返回数组中的最大值
number min(array numbers)//返回数组中的最小值
boolean in_array(mixed needle,array haystack[,bollean strict])//查找数组中的值,第三个参数可选,强制执行类型检查
mixed array_search(mixed needle,array haystack[,boolean strict])//返回 键 而不是布尔值,
找不到时返回false,找到的元素如果正好是第一个元素,则返回0,而PHP会自动转化为false所以需要使用===判断,如下

$a = array("a","b","c","d","e","f");
$index = array_search("a",$a);
if($index === false)
echo "在数组a中未发现字符'a'";
else
echo "Index = $index";
---------------------输出结果----------------------------------------
Index = 0
---------------------------------------------------------------------
array array_reverse(array source[,bool preserve_keys])//逆转数组,生成一个新数组,可选参数为true时,保留索引和元素之间的关联
$a = array("a","b","c","d","e","f");
$newa = array_reverse($a);//直接翻转
echo $newa[0];
$newb = array_reverse($a,true);//依旧保留了索引和元素之间的关联
echo $newb[0];
---------------------输出结果----------------------------------------
fa
---------------------------------------------------------------------
sort(array subject[,integer sort_flag])//根据 值 进行升序排列(在原数组中重新排列元素)
rsort(array subject[,integer sort_flag])//根据 值 进行降序排列(在原数组中重新排列元素)
可选参数可以指定为按数字方式SORT_NUMERIC还是字符串方式SORT_STRING或者通常的方式SORT_REGULAR排序
sort()、rsort()可以用于关联数组,但是 键 将丢失
asort(array subject[,integer sort_flag])//根据 值 进行升序排列(在原数组中重新排列元素),保持键值关联
arsort(array subject[,integer sort_flag])//根据 值 进行降序排列(在原数组中重新排列元素),保持键值关联
当asort() arsort()用于非关联数组时,元素按排序后的次序重新排列,但是访问元素的索引不改变
integer ksort(ayyay subject [,integer sort_flag])//根据 键或索引 进行升序排列
integer krsort(ayyay subject [,integer sort_flag])//根据 键或索引 进行降序排列
usort(array subject, string compare_function)//根据用户定义排序,用户定义自己的排序规则函数,但函数必须符合
uasort(array subject, string compare_function)//integer my_compare_function(mixed a, mixed b),a>b返回1,a uksort(array subject, string compare_function)//a等于b时返回0
$numbers = array(16,3,2,171,5,24,6,19);
sort($numbers);
foreach($numbers as $n)
echo $n." ";
$numbers = array(16,3,2,171,5,24,6,19);
rsort($numbers);
foreach($numbers as $n)
echo $n." ";
$numbers = array(16,3,2,171,5,24,6,19);
sort($numbers,SORT_STRING);
foreach($numbers as $n)
echo $n." ";
$a = array("o"=>"kk","e"=>"zz","z"=>"hh","a"=>"rr");
asort($a);
foreach ($a as $keyname=>$keyvalue)
echo $keyvalue;
$a = array("o"=>"kk","e"=>"zz","z"=>"hh","a"=>"rr");
ksort($a);
foreach ($a as $keyname=>$keyvalue)
echo $keyvalue;
//基于长度比较两个字符串
function cmp_length($a,$b)
{
if(strlen($a) < strlen($b))
return -1;
if(strlen($a) > strlen($b))
return 1;
return 0;
}
$animals = array("cow","ox","monkey","mimi");
usort($animals,"cmp_length");
foreach($animals as $an)
echo $an;
---------------------输出结果----------------------------------------
2 3 5 6 16 19 24 171 171 24 19 16 6 5 3 2 16 171 19 2 24 3 5 6 hhkkrrzzrrzzkkhhoxcowmimimonkey
---------------------------------------------------------------------
array_merge($a,$b)//组合数组,个人认为是比较有趣的函数之一,从两个数组生成一个数组,具有相同 键 的值会被覆盖
////////////////////////////代码部分////////////////////////////////////////
$a = array("name"=>"zhangsan",10,100);
$b = array("name"=>"lisi",4,6,8);
$c = array_merge($a,$b);
var_dump($c);
//////////////////////////////////////////////////////////////////////////
---------------------输出结果----------------------------------------
array(6) { ["name"]=> string(4) "lisi" [0]=> int(10) [1]=> int(100) [2]=> int(4) [3]=> int(6) [4]=> int(8) }
---------------------------------------------------------------------
array array_combine(array $a,array $b)//a数组的值为新数组的键,b数组的值为新数组的值,数组长度不同时,返回false
////////////////////////////代码部分////////////////////////////////////////
$a = array("name","math","china");
$b = array("zhangsan",4,6);
$c = array_combine($a,$b);
var_dump($c);
//////////////////////////////////////////////////////////////////////////
---------------------输出结果----------------------------------------
array(3) { ["name"]=> string(8) "zhangsan" ["math"]=> int(4) ["china"]=> int(6) }
---------------------------------------------------------------------


关键词:【推荐给好友】【关闭】


最新五条评论
查看全部评论 评论总数 0 条







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.