> 백엔드 개발 > PHP 튜토리얼 > PHP 배열 병합, 추가 및 연결 방법(array_merge(), array_combine() 함수)

PHP 배열 병합, 추가 및 연결 방법(array_merge(), array_combine() 함수)

WBOY
풀어 주다: 2016-07-25 08:58:03
원래의
3807명이 탐색했습니다.
本文介绍下,php中进行数组合并、追加及连接的具体方法,主要是函数array_merge()、array_combine()的用法。有需要的朋友参考下。

1,首先,合并数组。

array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。 其形式为: array array_merge (array array1 array2…,arrayN) 可以将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。 返回作为结果的数组。

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

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

例子:

<?php
/**
* php 数组合并
* edit by bbs.it-home.org
*/

$face = array("J","Q","K","A");
$numbered = array("2","3","4","5","6","7","8","9");
$cards = array_merge($face, $numbered);
shuffle($cards);
print_r($cards);
?>
로그인 후 복사

输出结果: Array ( [0] => A [1] => 4 [2] => 9 [3] => 3 [4] => K [5] => 7 [6] => 5 [7] => Q [8] => 6 [9] => 8 [10] => 2 [11] => J )

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

其形式为: array array_merge_recursive( array key,array values )

例子:

<?php
/**
* 追加数组
* edit by bbs.it-home.org
*/

$class1 = array("John" => 100, "James" => 85);
$class2 = array("Micky" => 78, "John" => 45);
$classScores = array_merge_recursive($class1, $class2);
print_r($classScores);
?>
로그인 후 복사

输出结果: Array ( [John] => Array ( [0] => 100 [1] => 45 ) [James] => 85 [Micky] => 78 )

3,连接两个数组 array_combine()函数会得到一个新数组,它由一组提交的键和对应的值组成。 其形式为: array array_merge(array array1,array array2[…,array arrayN])

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

例子:

<?php
/**
* php数组连接
* edit by bbs.it-home.org
*/
$abbreviations = array("AL","AK","AZ","AR");
$states = array("Alabama","Alaska","Arizona","Arkansas");
$stateMap = array_combine($abbreviations,$states);
print_r($stateMap);
?>
로그인 후 복사

输出结果: Array ( [AL] => Alabama [AK] => Alaska [AZ] => Arizona [AR] => Arkansas )

有关php中对数组进行合并、追加与连接的方法与实例,就介绍到这了,希望可以帮助到大家。

程序员之家,祝大家学习进步。



원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿