您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

php基础之数组的合并、拆分、区别取值函数集

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 16:50 点击:

PHP数组的合并、拆分、区别取值函数集
都说PHP的数组功能很强大、只有真正用于项目工作当中才能够感受得到,至少我认为是,现在已慢慢的发觉其中的奥秘了……
合并数组有三个函数:
1.array_combine()
携带两个参数数组,参数数组一的值作新数组的键,参数数组二的值作新数组的值。很简单。
例子:
<?php  
$a = array('green', 'red', 'yellow');  
$b = array('avocado', 'apple', 'banana');  
$c = array_combine($a, $b); 
 
print_r($c);  
?>
 
上例将输出:
 
Array  
(  
[green] => avocado  
[red] => apple  
[yellow] => banana  
)  
2.array_merge()
携带两个参数数组,简单的将数组二追加到数组一的后面构成新数组。
例子:
<?php  
$arrayarray1 = array("color" => "red", 2, 4);  
$arrayarray2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);  
$result = array_merge($array1, $array2);  
print_r($result);  
?>   
 
上例将输出:
Array  
(  
[color] => green  
[0] => 2  
[1] => 4  
[2] => a  
[3] => b  
[shape] => trapezoid  
[4] => 4  
)  
3.array_merge_recursive()
与上面函数雷同,唯一的区别是在追加时发现要添加的键已存在时,array_merge()的处理方式是覆盖前面的键值,array_merge_recursive()的处理方式是重构子数组,将重复的键的值组成一个新的数值数组。
例子:
<?php  
$ar1 = array("color" => array("favorite" => "red"), 5);  
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));  
$result = array_merge_recursive($ar1, $ar2);  
?>  
 
上例将输出
$result: 
 
Array  
(  
[color] => Array  
(  
[favorite] => Array  
(  
[0] => red  
[1] => green  
)  
 
[0] => blue  
)  
 
[0] => 5  
[1] => 10  
)  
拆分数组有两个函数:
1.array_slice()
携带三个参数,参数一为目标数组,参数二为offset,参数三为length。作用为,从目标数组中取出从offset开始长度为length的子数组。
如果offset为正数,则开始位置从数组开头查offset处,如果offset为负数开始位置从距数组末尾查offset处。如果length 为正数,则毫无疑问取出的子数组元素个数为length,如果length为负数,则子数组从offset开始到距数组开头count(目标数 组)-|length|处结束。特殊地,如果length为空,则结束位置在数组结尾。
例子:
<?php  
$input = array("a", "b", "c", "d", "e");  
 
$output = array_slice($input, 2); // returns "c", "d", and "e"  
$output = array_slice($input, -2, 1); // returns "d"  
$output = array_slice($input, 0, 3); // returns "a", "b", and "c"  
 
// note the differences in the array keys  
print_r(array_slice($input, 2, -1));  
print_r(array_slice($input, 2, -1, true));  
?>  
 
上例将输出:
Array  
(  
[0] => c  
[1]

    相关新闻>>

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • PHP测试
    • 十天学会php之第六天
    • 几种显示数据的方法的比较
    • 使用xmlhttp为网站增加域名查询功能
    • PHP+MYSQL+Javascript数据库查询结果的动态显示
    • 查找数组中指定键名的值
    • 用redis实现跨服务器session
    • 用新浪微博接口发送图片微博失败的原因
    • smarty局部缓存技术[源码分析]
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1