ddxiami

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: 黄振国

[php函数] 基础函数-数组处理函数

[复制链接]
 楼主| 发表于 2014-11-3 16:20:47 | 显示全部楼层
#array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。
#语法:array_splice(array,offset,length,array)
=======================================================
<?php
$a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,0,2,$a2);
print_r($a1);
?>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-3 16:20:58 | 显示全部楼层
#array_chunk() 函数把一个数组分割为新的数组块。
#语法:array_chunk(array,size,preserve_key)
=======================================================
<?php
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");
print_r(array_chunk($a,2,true));
?>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-3 16:21:02 | 显示全部楼层
#array_pad() 函数向一个数组插入带有指定值的指定数量的元素。
#语法:array_pad(array,size,value)
=======================================================
<?php
$a=array("Dog","Cat");
print_r(array_pad($a,5,0));
?>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-3 16:21:19 | 显示全部楼层
#array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。
#语法:array_push(array,value1,value2...)
=======================================================
<?php
$a=array("Dog","Cat");
array_push($a,"Horse","Bird");
print_r($a);
?>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-3 16:21:24 | 显示全部楼层
#array_pop() 函数删除数组中的最后一个元素。
#语法:array_pop(array)
=======================================================
<?php
$a=array("Dog","Cat","Horse");
array_pop($a);
print_r($a);
?>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-3 16:21:30 | 显示全部楼层
#array_shift() 函数删除数组中的第一个元素,并返回被删除元素的值。
#语法:array_shift(array)
=======================================================
<?php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_shift($a);
print_r ($a);
?>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-3 16:21:35 | 显示全部楼层
#array_unshift() 函数在数组开头插入一个或多个元素。
#语法:array_unshift(array,value1,value2,value3...)
=======================================================
<?php
$a=array("a"=>"Cat","b"=>"Dog");
array_unshift($a,"Horse");
print_r($a);
?>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-3 16:21:42 | 显示全部楼层
#array_walk() 函数对数组中的每个元素应用回调函数。如果成功则返回 TRUE,否则返回 FALSE。
#典型情况下 function 接受两个参数。array 参数的值作为第一个,键名作为第二个。如果提供了可选参数 userdata ,将被作为第三个参数传递给回调函数。
#语法:array_walk(array,function,userdata...)
=======================================================
<?php
function myfunction($value,$key)
{
echo "The key $key has the value $value<br />";
}
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
array_walk($a,"myfunction");
?>

<?php
function myfunction(&$value,$key)
{
$value="Bird;
}
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
array_walk($a,"myfunction");
print_r($a);
?>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-3 16:25:23 | 显示全部楼层
#array_map() 函数返回用户自定义函数作用后的数组。回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
#语法:array_map(function,array1,array2,array3...)
=======================================================
<?php
function myfunction($v)
{
if ($v==="Dog")
        {
        return "Fido";
        }
return $v;
}
$a=array("Horse","Dog","Cat");
print_r(array_map("myfunction",$a));
?>

<?php
function myfunction($v1,$v2)
{
if ($v1===$v2)
        {
        return "same";
        }
return "different";
}
$a1=array("Horse","Dog","Cat");
$a2=array("Cow","Dog","Rat");
print_r(array_map("myfunction",$a1,$a2));
?>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-3 16:25:29 | 显示全部楼层
#array_filter() 函数用回调函数过滤数组中的元素,如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组。

如果原数组是一个关联数组,键名保持不变。
#语法:array_filter(array,function)
=======================================================
<?php
function myfunction($v)
{ if ($v==="Horse")
        { return true;
        }
        return false;
}
$a=array(0=>"Dog",1=>"Cat",2=>"Horse");
print_r(array_filter($a,"myfunction"));
?>
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|技术文档库 ( 闽ICP备15017263号-2 )|网站地图

GMT+8, 2026-1-1 00:06 , Processed in 0.034608 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表