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 条评论
登录 后参与评论

相关文章

来自专栏对角另一面

读Zepto源码之Form模块

Form 模块处理的是表单提交。表单提交包含两部分,一部分是格式化表单数据,另一部分是触发 submit 事件,提交表单。 读 Zepto 源码系列文章已经放到...

2110
来自专栏思考的代码世界

Python编程从入门到实践之使用字典|第6天

一个Python字典可能只包含几个键—值对,也可能包含数百万个键—值对。鉴于字典可能包含 大量的数据,Python支持对字典遍历。字典可用于以各种方式存储信息,...

3467
来自专栏GreenLeaves

Oracle PL/SQL编程之基础

1、简介:pl/sql块由三个部分组成:定义部分、执行部分、例外处理部分,如下所示:         declare:         /*定义部分---定义常...

1938
来自专栏ml

C++知识整理(在此感谢大牛的整理)

这篇文章主要讲解如何在C++中使用cin/cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等。通过本文,您可以完全脱离s...

2494
来自专栏北京马哥教育

Python3急速入门 (一) 基础语法

豌豆贴心提醒,这是马哥Linux运维Python3急速入门系列第1篇文章 1.编码问题 默认情况下,Python 3源码文件以 UTF-8 编码,所有字符串都...

2918
来自专栏葡萄城控件技术团队

基于jQuery UI CSS Framework开发Widget

jQuery UI CSS Framework是jQuery UI中的一个样式框架,可以利用jQuery Theme roller 来生成自己想要的css样式效...

18610
来自专栏Bingo的深度学习杂货店

PHP 基础之 PHP 函数与对象

本章主要介绍 PHP 的函数与对象的一些应用: <?php // PHP 函数与对象 print("test"); // 或 print "test"...

3186
来自专栏偏前端工程师的驿站

语义化HTML:ul、ol和dl

一、语义化元素                             1. ul标签      W3C草案: The ul element represen...

1948
来自专栏新工科课程建设探讨——以能源与动力工程专业为例

2.2.2 HTML标签简介

HTML(HyperText Mark-up Language)是由HTML标签嵌套和组合的描述性文本,HTML标签可以描述文本(p,div等)、表格(tabl...

690
来自专栏柠檬先生

Angularjs基础(七)

AngularJS表单     AngularJS表单时输入控件的集合 HTML控件     一下HTML input 元素被称为HTML 控件:   ...

1937

扫码关注云+社区