=波波日志 > PHP/apache/Perl > php学习之array对象=

[转]php学习之array对象

sort//专门用于索引数组排序,重新分配索引下标,升序排序

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) }


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
*/


//=============================按自定义方法遍历数组
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



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=>$vecho "$k=$v";


类别:PHP/apache/Perl 作者:转载 日期:2009-07-10 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012WEB编程网桂ICP备05005887号 京公网安备1101055090