- 浏览: 141150 次
- 性别:
- 来自: 青岛
文章分类
- 全部博客 (98)
- css (17)
- Java (7)
- PHP (16)
- javascript (6)
- Ajax (0)
- jQuery (1)
- 网络 (3)
- windows (1)
- 服务器 (2)
- 开发流程 (0)
- SEO (1)
- 网页设计制作 (5)
- 数据库 (7)
- 工具 (6)
- 移动通信 (1)
- 数据库 oracle (5)
- PHP phpcms (2)
- thinksns (1)
- jsp (1)
- dedecms (7)
- EmEditor (1)
- 数据库,mysql (5)
- 数据库,mssql (11)
- svn (1)
- PHP,ecshop (1)
- Ofbiz (0)
- linux (2)
- destoon笔记 (1)
- discuz (1)
最新评论
-
sibyl_pisces:
guangqiang 写道嗯 有点意思 敬同行 你也是在青岛吗 ...
CSS+DIV固定底部的漂浮导航条 -
guangqiang:
嗯 有点意思 敬同行 你也是在青岛吗 ?
CSS+DIV固定底部的漂浮导航条 -
sibyl_pisces:
anqiuejack 写道解决了我的问题,但还是搞不懂对IE固 ...
CSS+DIV固定底部的漂浮导航条 -
anqiuejack:
解决了我的问题,但还是搞不懂对IE固定设定的代码的意思,这是J ...
CSS+DIV固定底部的漂浮导航条 -
yuxiatongzhi:
绑定事件里 return false; 如果设置 ...
ie6 javascript:void(0);
关于数组:
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) }
http://www.myzqu.com/zhaoqing/doc-view-7.html
发表评论
-
Destoon B2B复制、新建商城模块
2013-07-08 16:50 1083开发背景:网站准备一个赠品模块,赠品的计算方法和商城还 ... -
dede首页或列表页调用文章内容页body
2013-03-29 10:09 775在使用dede过程,有的朋友会调调出文章的列表的内容出来,怎 ... -
Video not found or access denied错误解决方法 网站潜入视频播放flv等格式错误
2012-10-15 15:15 2452问题描述: 在p ... -
为什么PHP文件一般没有结束标记
2012-07-19 15:57 1556对于经常开发PHP的程序员来说,习惯性的文件末尾不加结束 ... -
dede嵌套获取栏目及其子栏目列表
2012-06-19 14:10 1003修改 channerl.lib.php <?ph ... -
Ecshop多语言切换
2012-02-14 17:49 10481)、首先打开 includd ... -
常用的php ADODB使用方法集锦
2012-02-02 13:02 829<?php //定义数据 ... -
php中出现“Call to a member function Execute() on a non-object”的问题
2012-01-06 14:18 14461没得办法,学艺不精,今天使用php+adodb进行数据库操作 ... -
织梦标签全部调用方法
2011-11-05 22:14 1207* 关键描述调用标签: <meta nam ... -
DEDE织梦后台打开为什么是空白
2011-11-02 12:22 2964dedecms织梦5.7空白的第一种可能: dedecm ... -
您的服务器没有安装这个PHP扩展:curl ... Failed
2011-10-23 13:21 3949今天安装Thinksns的时候出现下面的错误,在网上搜了一下, ... -
Smarty中foreach的index、iteration的使用
2011-04-18 10:41 5298个人观点:在从事PHP开发一年后我深刻的体会到了Sma ... -
判断php变量是否定义,是否为空
2011-02-24 16:59 982isset() 【1】 Returns TRUE if ... -
PHP中文乱码问题
2011-02-10 12:31 653在PHP网页编程是经常会出现编码错误的问题,那编码错误这 ... -
PHP 遍历数组的方法汇总
2010-11-07 12:25 7631. foreach() foreach()是一个用来遍历数 ...
相关推荐
php 多维数组排序,应用php的多维数组排序函数
php随机生成一个多维数组
出自PLFrame PHP框架的一个很好用的多维数组转成字符串的方法,百试不爽!
下面小编就为大家带来一篇php打乱数组二维数组多维数组的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
nusoap 创建多维数组 ,WebserviceStudio20 测试通过
php数组无限制生成树源代码,无限制递归子类源代码
php 多维数组的排序php 多维数组的排序
array_change_key_case -- 返回...array_multisort -- 对多个数组或多维数组进行排序 array_pad -- 用值将数组填补到指定长度 array_pop -- 将数组最后一个单元弹出(出栈) array_product -- 计算数组中所有值的乘积
本文实例讲述了PHP实现的多维数组去重操作。分享给大家供大家参考,具体如下: 最近用到了一个获取历史会议列表的问题,需要去这个多维数组去重后返回返回给客户端,这里使用了几个php的组装函数,分享下,示例代码...
php判断一个数组是几维数组,一维二维多维一一判断
多维数组让数组根据某个字段的大小排序,方便用户直接获取
php多维数组转化为一维数组并重组源码 写了一个下午的多维数组重组;
本文实例讲述了PHP多维数组转一维数组的简单实现方法。分享给大家供大家参考,具体如下: php语言本身没有将多维数组转为一维数组的函数,但是我们可以自己写一个php函数来实现将多维转一维的功能。 运用了递归,...
一个小文件轻松帮你搞定PHP arry 的头疼理念 如果有疑问 可以通过(http://www.wlmqtc.com/) 联系技术人员 让他们帮你更好理解
本文实例讲述了php计算多维数组中所有值总和的方法。分享给大家供大家参考。具体实现方法如下: php 内置函数 array_sum() 函数返回数组中所有值的总和,只能返回一维数组的总和; 计算多维数组所有值的和就要自定义...
1、创建和修改数组 / 多维数组 2、数组与数组的函数 3、使用foreach 遍历数组
PHP 多维数组排序 根据二维数组中某个项排序,需要的朋友可以参考下。
php数组之间的子级父级转换
通过读取excel文件获取的一个php三维数组文件