=波波日志 > PHP/apache/Perl > php学习之array对象=
[转]php学习之array对象
sort//专门用于索引数组排序,重新分配索引下标,升序排序
asort//可以用于索引和关联数组,按值升序排序。特别一点的是对于索引数组时,不会重新分配索引下标,就如索引数组中的索引值当作关联数组的键来处理了
如
ksort//专门用于关联数组,按键升序排序
//=============================降序排序,用法同上,只是按降序排序了
rsort<======>sort
arsort<======>asort
krsort<======>ksort
//=============================自定义排序,按自定义的函数排序
usort
uasort
uksort
//=============================其他单个排序
反向排序:array_reverse
随机排序:shuffle-->对整个数组,array_rand(),从指定数组中选取指定的个数
array_push,将一个对象压入数组的末尾
array_pop,将一个对象从数组的末尾删除
range(开始,结束):生成一个连续的序列数组,从开始到结束(可以为降序也可以为升序)
如:range(10,1)为降,range(1,10)为升
count,sizeof:返回数组元素个数
array_count_values:统计数组的值在数组中出现的次数
EG.
//=============================按自定义方法遍历数组
array_walk(arr,func[,userdata]);
arr:要遍历的数组
func:执行的方法,参数为:【值,键,用户数据】。如果传递用户数据,必须有3个参数,否则一个两个参数都可以
userdata:用户数据,传递给func的
eg.
extract(array arr[,int extract_type][,string prefix]):将关联数组转换成变量
----------extract_type----------
EXTR_OVERWRITE 当发生冲突时覆盖已有变量
EXTR_SKIP 当发生冲突时跳过一个元素
EXTR_PREFIX_SAME 当发生冲突时创建一个名为$prefix的变量,必须提供prefix参数
EXTR_PREFIX_ALL 在所有变量名称前加上prefix参数的指定值,必须提供prefix参数
EXTR_PREFIX_INVALID 使用指定prefix在可能无效的变量名称前加上前缀,例如数字变量名称, 必须提供prefix参数
EXTR_IF_EXISTS 只提取已经存在的变量(就是用数组中的值覆盖已有的变量的值)
EXTR_PREFIX_IF_EXISTS 只有在不带前缀的变量已经存在的情况下,创建带有前缀的变量
EXTR_REFS 以引用方式提取变量
遍历数组
asort//可以用于索引和关联数组,按值升序排序。特别一点的是对于索引数组时,不会重新分配索引下标,就如索引数组中的索引值当作关联数组的键来处理了
如
+展开
-PHP
$arr=array(1,3,2);
var_dump($arr);//输出array(3) { [0]=> int(1) [1]=> int(3) [2]=> int(2) }
asort($arr);
var_dump($arr);//输出array(3) { [0]=> int(1) [2]=> int(2) [1]=> int(3) }
var_dump($arr);//输出array(3) { [0]=> int(1) [1]=> int(3) [2]=> int(2) }
asort($arr);
var_dump($arr);//输出array(3) { [0]=> int(1) [2]=> int(2) [1]=> int(3) }
ksort//专门用于关联数组,按键升序排序
//=============================降序排序,用法同上,只是按降序排序了
rsort<======>sort
arsort<======>asort
krsort<======>ksort
//=============================自定义排序,按自定义的函数排序
usort
uasort
uksort
//=============================其他单个排序
反向排序:array_reverse
随机排序:shuffle-->对整个数组,array_rand(),从指定数组中选取指定的个数
array_push,将一个对象压入数组的末尾
array_pop,将一个对象从数组的末尾删除
range(开始,结束):生成一个连续的序列数组,从开始到结束(可以为降序也可以为升序)
如:range(10,1)为降,range(1,10)为升
count,sizeof:返回数组元素个数
array_count_values:统计数组的值在数组中出现的次数
EG.
+展开
-PHP
$arr=array(1,2,3,1,4,2,1)
$ac=array_count_values($arr);
/*
$ac数组的内容为
关键字 值
1 3
2 2
3 1
4 1
*/
$ac=array_count_values($arr);
/*
$ac数组的内容为
关键字 值
1 3
2 2
3 1
4 1
*/
//=============================按自定义方法遍历数组
array_walk(arr,func[,userdata]);
arr:要遍历的数组
func:执行的方法,参数为:【值,键,用户数据】。如果传递用户数据,必须有3个参数,否则一个两个参数都可以
userdata:用户数据,传递给func的
eg.
+展开
-PHP
//将数组中的值乘以3,注意是引用传递
function DoubleArr(&$value,$key,$data)
{
$value*=$data;
}
$arr=array(1,2,3);
array_walk(&$arr,DoubleArr,3);//注意是引用传递,因为要修改数组的值
//=============================
explode(splitWord,str[,limit]);//使用splitword分割str
split(regStr,str[,limit])//使用正则regStr分割str
function DoubleArr(&$value,$key,$data)
{
$value*=$data;
}
$arr=array(1,2,3);
array_walk(&$arr,DoubleArr,3);//注意是引用传递,因为要修改数组的值
//=============================
explode(splitWord,str[,limit]);//使用splitword分割str
split(regStr,str[,limit])//使用正则regStr分割str
extract(array arr[,int extract_type][,string prefix]):将关联数组转换成变量
----------extract_type----------
EXTR_OVERWRITE 当发生冲突时覆盖已有变量
EXTR_SKIP 当发生冲突时跳过一个元素
EXTR_PREFIX_SAME 当发生冲突时创建一个名为$prefix的变量,必须提供prefix参数
EXTR_PREFIX_ALL 在所有变量名称前加上prefix参数的指定值,必须提供prefix参数
EXTR_PREFIX_INVALID 使用指定prefix在可能无效的变量名称前加上前缀,例如数字变量名称, 必须提供prefix参数
EXTR_IF_EXISTS 只提取已经存在的变量(就是用数组中的值覆盖已有的变量的值)
EXTR_PREFIX_IF_EXISTS 只有在不带前缀的变量已经存在的情况下,创建带有前缀的变量
EXTR_REFS 以引用方式提取变量
遍历数组
+展开
-PHP
foreach($arr as $v)echo $v;
foreach($arr as $k=>$v) echo "$k=$v";
foreach($arr as $k=>$v) echo "$k=$v";
类别:PHP/apache/Perl 作者:转载 日期:2009-07-10 【评论:0】
暂时没有评论!
发表留言
百度赞助
同类热门博文
- ·IE里Cookie跨域不能..
- ·php隐形字符65279
- ·Apache NameVirtual..
- ·Apache2.2提示Canno..
- ·Cookie在IE浏览器跨..
- ·获取google的pr值
- ·php根据访问者ip地址..
- ·PHP“Cannot use ob..
博格Tag
- flash/flex/fcs/AIR(752)
- Asp.Net/C#/WCF(598)
- 操作系统及应用软件(376)
- JavaScript/Ajax(330)
- SQL及数据库(134)
- 黑客技术(115)
- Asp/VBScript(111)
- HTML/WML/CSS兼容/XML(102)
- PHP/apache/Perl(96)
- 网站排名及优化(92)
- 其他(75)
- showbo日志(66)
- lucene.net/分词技术(33)
- 计算机网络(26)
- 机械重工(26)
- C#设计模式(24)
- Google Maps开发(17)
- 日语学习(15)
- Canvas/VML/SVG(13)
- linux(11)
- 游戏开发(8)
- 正则表达式(5)
- Jsp/Java(4)
最新博文
- ·PHP socket套接字学..
- ·Warning Cannot sen..
- ·php与flash as3 soc..
- ·php socket套接字聊..
- ·php获取来源页面
- ·CentOS5.5配置Apach..
- ·wget使用详解
- ·curl使用详解
随机博文
