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

相关文章

来自专栏linux驱动个人学习

高通msm8909耳机调试

1、DTS相应修改: DTS相关代码:kernel/arch/arm/boot/dts/qcom/msm8909-qrd-skuc.dtsi: 1 s...

7615
来自专栏Golang语言社区

Knapsack problem algorithms for my real-life carry-on knapsack

I'm a nomad and live out of one carry-on bag. This means that the total weight o...

1142
来自专栏专知

2018年SCI期刊最新影响因子排行,最高244,人工智能TPAMI9.455

2018年6月26日,最新的SCI影响因子正式发布,涵盖1万2千篇期刊。CA-Cancer J Clin 依然拔得头筹,其影响因子今年再创新高,达244.585...

1292
来自专栏前端儿

Web 前端颜色值--字体--使用,整理整理

颜色值 CSS 颜色使用组合了红绿蓝颜色值 (RGB) 的十六进制 (hex) 表示法进行定义。对光源进行设置的最低值可以是 0(十六进制 00)。最高值是 2...

2372
来自专栏我和未来有约会

简练的视图模型 ViewModel

patterns & practices Developer Center 发布了 Unity Application Block 1.2 for Silver...

2199
来自专栏Pulsar-V

Save Camera Document

#pragma once #include "HCCamera.h" #include <time.h> #include <cstdio> #incl...

2828
来自专栏MelonTeam专栏

Bitmap 源码阅读笔记

导语: Android 系统上的图片的处理,跟Bitmap 这个类脱不了关系,我们有必要去深入阅读里面的源码,以便在工作中能更好的处理Bitmap相关的问题...

2518
来自专栏WOLFRAM

向日葵中的数学之美

1863
来自专栏搞前端的李蚊子

Html5模拟通讯录人员排序(sen.js)

// JavaScript Document  var PY_Json_Str = ""; var PY_Str_1 = ""; var PY_Str_...

5976
来自专栏余生开发

echarts太阳分布图-饼图来回穿梭

var dom = document.getElementById("container");

1202

扫码关注云+社区