php数组的高级操作笔记

所谓高级其实就是书里讲数组部分的最后几页,唬人的标题,嘎嘎....
1.返回当前数组值的键的函数key(),结束时返回false

$a=array("tom"=>"21","jim"=>"22","andy"=>"25");
//配置key函数循环读取$a的键并赋值$key,直到读取完毕
while($key=key($a)){
echo?$key;
//next负责将数组指针移向下一个
next($a);
}

2.获取当前指针的数值函数current,结束时返回false

$a=array("tom"=>"21","jim"=>"22","andy"=>"25");
//配置key函数循环读取$a的数组值并赋值$key,直到读取完毕
while($key=current($a)){
echo?$key;
next($a);
}

3.以上两例的合并版each() 返回的是数组,可以借助list读取。并且可以省略next,因为他自动跳转了

$a=array("tom"=>"21","jim"=>"22","andy"=>"25");
//配置循环读取$a的数组值与键并分别赋值,直到读取完毕
while(list($key,?$val)=each($a)){
echo?$key,$val,"<br>";
}

4.特别记一下,移动指针的函数
(1)next语句,顾名思义移动到下一个的意思

$a=array("tom","jim","andy");
echo?next($a);//输出jim
echo?next($a);//输出andy

(2)prev语句,前移指针的语句。同上就不举例了
(3)reset语句,回到第一个位置,同上也不举例的
(4)end语句,到最后一个,就不举例!!
5.给函数传递数组array_walk
前面我已经提前写了表单的post,对于多选项都是使用数组传递的,当然了,不是多选也可以使用数组看你愿意不了,举例说:
假设已经接受了表单传递的数据,这里我就直接建个数组,不写表单差暗地过程了:

//建立一个函数获得2个值并输出
function?b($value,$key)
{
echo?"键:$key?值:$value<br?/>";
}
//这是假设获得的表单传递的数组
$a=array("tom"=>"21","jim"=>"22","andy"=>"25");
//配置array_walk语句,读取a并执行b
array_walk($a,"b")

它的更多使用方法可以参考手册
6.计算数组值的个数count语句

$a=array("tom"=>"21","jim"=>"22","andy"=>"25","jack"=>"33");
echo?count($a);

7.统计数组中某值出现了多少次,array_count_values语句,返回的也是数组需要自己读取,给你看例子吧

$a=array("beijing","xian","jinan","beijing","jinan","guangdong");
print_r(array_count_values($a));

得到数组:

Array?(?[beijing]?=>?2?[xian]?=>?1?[jinan]?=>?2?[guangdong]?=>?1?)?

8.剔除重复的值,重新返回一个都是唯一值的数组array_unique语句

$a=array("beijing","xian","jinan","beijing","jinan","guangdong");
print_r(array_unique($a));

得到数组:

Array?(?[0]?=>?beijing?[1]?=>?xian?[2]?=>?jinan?[5]?=>?guangdong?)?

看来写不完了,等再写吧

php

添加新评论