≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > PHP笔记

php 数组的合并、拆分、区别取值函数的简单示例

人气:414 时间:2020-11-17

这篇文章主要为大家详细介绍了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 
$array1 = array("color" => "red", 2, 4); 
$array2 = 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] => d 
) 
Array 
( 
[2] => c 
[3] => d 
) 

2.array_splice()

携带三个参数,同上,作用是删除从offset开始长度为length的子数组。

例子:

代码如下:

 
<?php 
$input = array("red", "green", "blue", "yellow"); 
array_splice($input, 2); 
// $input is now array("red", "green") 

$input = array("red", "green", "blue", "yellow"); 
array_splice($input, 1, -1); 
// $input is now array("red", "yellow") 

$input = array("red", "green", "blue", "yellow"); 
array_splice($input, 1, count($input), "orange"); 
// $input is now array("red", "orange") 

$input = array("red", "green", "blue", "yellow"); 
array_splice($input, -1, 1, array("black", "maroon")); 
// $input is now array("red", "green", 
// "blue", "black", "maroon") 

$input = array("red", "green", "blue", "yellow"); 
array_splice($input, 3, 0, "purple"); 
// $input is now array("red", "green", 
// "blue", "purple", "yellow"); 
?> 


区别取值函数有四个:

1.array_intersect()

携带参数不定,均为数组,返回所有数组中公共元素的值组成的数组,数组的键由所在第一个数组的键给出。

例子:

代码如下:

 
<?php 
$array1 = array("a" => "green", "red", "blue"); 
$array2 = array("b" => "green", "yellow", "red"); 
$result = array_intersect($array1, $array2); 
?> 

上例将输出:

代码如下:

 
Array 
( 
[a] => green 
[0] => red 
) 


2.array_intersect_assoc()

在前一个函数的基础上,返回所有数组中键、值均相同的键值对。

例子:

代码如下:

 
<?php 
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); 
$array2 = array("a" => "green", "yellow", "red"); 
$result_array = array_intersect_assoc($array1, $array2); 
?> 

上例将输出:

代码如下:

 
Array 
( 
[a] => green 
) 

3.array_diff()

携带多个数组,返回第一个数组中有的而后面的数组中没有的所有的值组成的新数组,对应键取自第一个数组。

例子:

代码如下:

 
<?php 
$array1 = array("a" => "green", "red", "blue", "red"); 
$array2 = array("b" => "green", "yellow", "red"); 
$result = array_diff($array1, $array2); 

print_r($result); 
?> 

上例将输出:

代码如下:

 
Array 
( 
[1] => blue 
) 


4.array_diff_assoc()

在前一个函数的基础上,不仅需要匹配值还要匹配键。

例子:

代码如下:

 
<?php 
$array1 = array ("a" => "green", "b" => "brown", "c" => "blue", "red"); 
$array2 = array ("a" => "green", "yellow", "red"); 
$result = array_diff_assoc($array1, $array2); 
?> 

上例将输出:

代码如下:

 
Array 
( 
[b] => brown 
[c] => blue 
[0] => red 
) 

本文来自:http://www.q1010.com/173/13808-0.html

注:关于php 数组的合并、拆分、区别取值函数的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:

您可能感兴趣的文章

上一篇:php 生成静态页面的办法示例
下一篇:php foreach 使用&(与运算符)引用赋值要注意的问题
热门文章
  • PHP 写入WRITE编码为UTF8的文件示例
  • PHP 中文字符串截取函数示例:支持gb2312,gbk,big
  • PHP 简单留言板的制作示例
  • 解决Fatal error: Call to undefined function mb_convert_encoding() in错误问题
  • PHP语言基础(标记、注释、变量、数组、常量、函数)示例
  • php 生成迅雷链接的简单示例
  • php 获取短网址的实现方法
  • PHP 通用分页类的简单示例
  • PHP 使用文件方式导入导出整个MYSQL数据库的实现方法
  • php 获取MYSQL错误的简单示例
  • 最新文章
    • 解决PHP使用redis实现统计缓存MySQL压力的问题
    • php 简单的上传进度条的简单示例
    • php 给html中引用的js和css路径打上版本号的实现方法
    • php 实现计算年龄精准到年月日的实例
    • php+ajax无刷新分页的简单示例
    • 解决php+ajax无刷新上传图片的问题
    • 解决PHP生成HTML静态页面的问题
    • 解决PHP使用uniqid函数生成唯一ID的问题
    • 解决PHP防刷票的一些问题
    • 微信access_token的获取开发的实现方法

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。