php数组函数如何学习,PHP基础知识数组函数学习小结

数组函数示例:

1.array_chunk() 函数 把数组分割为带有两个元素的数组:

$age=array("小马"=>"51","小红"=>"42","小张"=>"31","小王"=>"35");

print_r(array_chunk($age,2,true));

?>

结果:Array ( [0] => Array ( [小马] => 51 [小红] => 42 ) [1] => Array ( [小张] => 31 [小王] => 35 ) )

2.array_diff() 函数 比较两个数组的键值,并返回差集

$a1=array("a"=>"小红","b"=>"小马","c"=>"小王","d"=>"小张");

$a2=array("e"=>"小红","f"=>"小马","g"=>"小王");

$result=array_diff($a1,$a2);

print_r($result);

?>

结果:Array ( [d] => 小张 )

3.array_fill() 函数 用值填充数组

$a1=array_fill(1,3,"小马");

print_r($a1);

?>

结果:Array ( [1] => 小马 [2] => 小马 [3] => 小马 )

4.array_keys() 函数 返回包含数组中所有键名的一个新数组。

$a=array("小马"=>"88","小张"=>"66","小王"=>"22");

print_r(array_keys($a,"22"));

?>

结果:Array ( [0] => 小王 )

5.array_merge() 函数 把一个或多个数组合并为一个数组

$a1=array("a"=>"小马","b"=>"小张");

$a2=array("c"=>"小红","b"=>"小王");

print_r(array_merge($a1,$a2));

?>

结果:Array ( [a] => 小马 [b] => 小王 [c] => 小红 )

6.array_rand() 函数返回数组中的随机键名,或者如果您规定函数返回不只一个键名,则返回包含随机键名的数组。

$a=array("a"=>"小马","b"=>"小红","c"=>"小张","d"=>"小王");

print_r(array_rand($a,1));

?>

结果:每次刷新结果不同,a,b,c,d的一个。

7.array_unique() 函数移除数组中的重复的值,并返回结果数组。

$a=array("a"=>"小马","b"=>"小张","c"=>"小马");

print_r(array_unique($a));

?>

结果:Array ( [a] => 小马 [b] => 小张 )

8.array_rand() 函数从数组中随机选出一个或多个元素,并返回。

$a=array("小马","小张","小红","小王","小李");

$random_keys=array_rand($a,3);

echo $a[$random_keys[0]]."
";

echo $a[$random_keys[1]]."
";

echo $a[$random_keys[2]];

?>

结果:随机的三个(小马 小张 小红),每次刷新都不一样。

9.natcasesort() 函数用不区分大小写的自然顺序算法对给定数组中的元素排序。

$temp_name=array("zhangsan","Wangwu","lisi","Maliu","tianqi");

natsort($temp_name);

echo"自然排序:";

print_r($temp_name);

echo"
";

natcasesort($temp_name);

echo"不区分大小写的自然排序:";

print_r($temp_name);

?>

结果:自然排序:Array ( [3] => Maliu [1] => Wangwu [2] => lisi [4] => tianqi [0] => zhangsan )

不区分大小写的自然排序:Array ( [2] => lisi [3] => Maliu [4] => tianqi [1] => Wangwu [0] => zhangsan )

10.uksort() 函数使用用户自定义的比较函数按照键名对数组排序,并保持索引关系。

functionmy_sort($a,$b)

{

if($a==$b)return0;

return($a

}

$arr=array("a"=>4,"b"=>2,"c"=>8,"d"=>6);

uksort($arr,"my_sort");

foreach($arras$x=>$x_value)

{

echo"Key=".$x.", Value=".$x_value;

echo"
";

}

?>

结果:

Key=a, Value=4

Key=b, Value=2

Key=c, Value=8

Key=d, Value=6

11.回调函数

11.1array_filter() 函数用回调函数过滤数组中的值。

$entry=array(

0=>'xiaoma',

1=>false,

2=>-1,

3=>null,

4=>''

);

print_r(array_filter($entry));

?>

结果:Array ( [0] => xiaoma [2] => -1 )

11.2array_map(): 为数组中的每个元素应用回调函数进行处理,返回新数组。

functionmyfunction($v)

{

return($v*$v);

}

$a=array(11,12,13,14,15);

print_r(array_map("myfunction",$a));

?>

结果:Array ( [0] => 121 [1] => 144 [2] => 169 [3] => 196 [4] => 225 )

11.3array_reduce(): 迭代处理数组元素

functionmyfunction($v1,$v2)

{

return$v1."-".$v2;

}

$a=array("草莓","苹果","香蕉");

print_r(array_reduce($a,"myfunction"));

?>

结果:-草莓-苹果-香蕉

11.4array_walk(): 使用自定义回调对数组中成员逐个处理,返回布尔值

functionmyfunction($value,$key)

{

echo"这个键 $key 的值是 $value
";

}

$a=array("a"=>"草莓","b"=>"苹果","c"=>"香蕉");

array_walk($a,"myfunction");

?>

结果:

这个键 a 的值是 草莓

这个键 b 的值是 苹果

这个键 c 的值是 香蕉

12.array_slice() 函数在数组中根据条件取出一段值,并返回。

$a=array("苹果","西瓜","草莓","菠萝","哈密瓜");

print_r(array_slice($a,1,3));//从数组的第二个元素开始取出,并仅返回3个元素

?>

结果:Array ( [0] => 西瓜 [1] => 草莓 [2] => 菠萝 )

13.array_splice() 函数从数组中移除选定的元素,并用新元素取代它。

$a1=array("a"=>"苹果","b"=>"菠萝","c"=>"西瓜","d"=>"荔枝");

$a2=array("a"=>"草莓","b"=>"橘子");

array_splice($a1,0,2,$a2);

print_r($a1);

?>

结果:Array ( [0] => 草莓 [1] => 橘子 [c] => 西瓜 [d] => 荔枝 )

总结:PHP数组是PHP必不可少的一部分,array函数也有很重要的作用,通过本次课学到了很多数组函数以及它们的使用方法。通过查询手册也看到了数组操作的基本函数、数组的分段和填充、数组与栈、数组与列队、回调函数、排序、计算、其他的数组函数等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值