php数组操作(回顾)

1. 合并数组

array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。其形式为:

Php代码

  1. array array_merge (array array1 array2…,arrayN)

这个函数将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。

Php代码

  1. <?php
  2. $fruits = array("apple","banana","pear");
  3. $numbered = array("1","2","3");
  4. $cards = array_merge($fruits, $numbered);
  5. print_r($cards);
  6. // output
  7. // Array ( [0] => apple [1] => banana [2] => pear [3] => 1 [4] => 2 [5] => 3 )
  8. ?>

2. 追加数组

array_merge_recursive()函数与array_merge()相同,可以将两个或多个数组合并在一起,形成一个联合的数组.两 者之间的区别在于,当某个输入数组中的某个键己经存在于结果数组中时该函数会采取不同的处理方式.array_merge()会覆盖前面存在的键/值对, 替换为当前输入数组中的键/值对,而array_merge_recursive()将把两个值合并在一起,形成一个新的数组,并以原有的键作为数组名。 还有一个数组合并的形式,就是递归追加数组。其形式为:

Php代码

  1. array array_merge_recursive(array array1,array array2[…,array arrayN])

程序实例如下:

Php代码

  1. <?php
  2. $fruit1 = array("apple" => "red", "banana" => "yellow");
  3. $fruit2 = array("pear" => "yellow", "apple" => "green");
  4. $result = array_merge_recursive($fruit1, $fruit2);
  5. print_r($result);
  6. // output
  7. // Array ( [apple] => Array ( [0] => red [1] => green ) [banana] => yellow [pear] => yellow )
  8. ?>

现在键 apple 指向一个数组,这个数组由两个颜色值组成的索引数组。

3. 连接数组

array_combine()函数会得到一个新数组,它由一组提交的键和对应的值组成。其形式为:

Java代码

  1. array array_combine(array keys,array values)

注意,两个输入数组必须大小相同,不能为空。示例如下

Php代码

  1. <?php
  2. $name = array("apple", "banana", "orange");
  3. $color = array("red", "yellow", "orange");
  4. $fruit = array_combine($name, $color);
  5. print_r($fruit);
  6. // output
  7. // Array ( [apple] => red [banana] => yellow [orange] => orange )
  8. ?>

4. 拆分数组 array_slice()

array_slice()函数将返回数组中的一部分,从键offset开始,到offset+length位置结束。其形式:

Php代码

  1. array array_slice (array array, int offset[,int length])

offset 为正值时,拆分将从距数组开头的offset 位置开始;如果offset 为负值,则拆分从距数组末尾的offset 位置开始。如果省略了可选参数length,则拆分将从offset 开始,一直到数组的最后一个元素。如果给出了length 且为正数,则会在距数组开头的offset+length 位置结束。相反,如果给出了length且为负数,则在距数组开头的count(input_array)-|length|位置结束。考虑一个例子:

Php代码

  1. <?php
  2. $fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon", "Watermelon");
  3. $subset = array_slice($fruits, 3);
  4. print_r($subset);
  5. // output
  6. // Array ( [0] => Pear [1] => Grape [2] => Lemon [3] => Watermelon )
  7. ?>

然后我们使用下负长度:

Php代码

  1. <?php
  2. $fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon", "Watermelon");
  3. $subset = array_slice($fruits, 2, -2);
  4. print_r($subset);
  5. // output
  6. // Array ( [0] => Orange [1] => Pear [2] => Grape )
  7. ?>

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2015-05-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏游戏开发那些事

【c++】标准模板库STL入门简介与常见用法

STL(Standard Template Library)标准模板库,主要由容器、迭代器、算法、函数对象、内存分配器和适配器六大部分组成。STL已是标准C++...

641
来自专栏海纳周报

Java的字符串常量相关的一个问题

大家过年好!春节假期休了一个长假,今天刚回来。在知乎上遇到了一个很好的问题,忍不住回答了一下。原文转载过来了。 以下代码的运行结果,如何解释? String h...

2878
来自专栏程序员的碎碎念

php Array数组知识总结

PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量...

3487
来自专栏北京马哥教育

Python语言中list及tuple的使用示例

Python语言中的list Python有一种内置数据类型被称为列表:list。 1.list基本定义 list是一种有序的集合,可以随时添加和删除其中的元...

3007
来自专栏码农笔录

特殊回文数-Java

1073
来自专栏云瓣

JS中遍历语法的比较

for循环 JavaScript 提供多种遍历语法。最原始的写法就是for循环。 let arr = [1,2,3,4,5]; for (var index ...

3324
来自专栏程序生活

Leetcode-Easy 412. Fizz Buzz

728. Self Dividing Numbers 描述: 给定一个整数n,判断1-n之间的数字,输出字符串。如果一个数是3的倍数,输出“FIzz”;如果...

3104
来自专栏算法channel

深度优先搜索和回溯结合后的终极模板

昨天 这5道算法题 都可以套用这个模板 推送了一个深度搜索和回溯结合的题目和另4道类似题,今天,逐个分析后4道题,最后提炼出模板。

760
来自专栏Vamei实验室

Python补充03 Python内置函数清单

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。 Python内置(built-in)函数随着py...

1606
来自专栏有趣的django

6.python内置函数

1. abs() 获取绝对值 >>> abs(-10) 10 >>> a = -10 >>> a.__abs__() 10 2. all()   参数为可迭代对...

3206

扫描关注云+社区