PHP合并2个数字键数组的值的程序

   php中数组合并array_merge是最靠得住的函数了,下文我们在利用array_merge函数合并时主要是对于两个数组的键值为数字进行处理。

  先要了解一个基础知识点

  PHP中两个数组合并可以使用+或者array_merge,但之间还是有区别的,而且这些区别如果了解不清楚项目中会要命的!

  主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意

  1)键名为数字时,array_merge()后面的值将不会覆盖原来的值,而是附加到后面,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)

  2)键名为字符串时,array_merge()此时会覆盖掉前面相同键名的值,但+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)。

代码如下  

$a = array('a', 'b');
$b = array('c', 'd');
$c = $a + $b;
var_dump($a);
var_dump(array_merge($a, $b));

//输出:

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)

++++++++++++++++++++++++++++++++++++++++++

$a = array(
0 => 'a',
1 => 'b'
);
$b = array(
0 => 'c',
1 => 'b'
);
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));

//输出:

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length=1)

++++++++++++++++++++++++++++++++++++++++++

$a = array('a', 'b');
$b = array(
'0' => 'c',
1 => 'b'
);
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));

//输出:
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length=1)

++++++++++++++++++++++++++++++++++++++++++

$a = array(
0 => 'a',
1 => 'b'
);
$b = array(
'0' => 'c',
'1' => 'b'
);
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));

输出:

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length=1)

  好了讲到这么多了我们来看看下合并2个数字键数组的值

代码如下  

<?php
/**
* PHP合并2个数字键数组的值
*
* @param array $arr1
* @param array $arr2
* @return array
* @author www.111cn.net
*/
function new_array_merge($arr1, $arr2)
{
$arr = array_flip($arr1) + array_flip($arr2);
return array_keys($arr);
}

$arr1 = array('aa', 'bb', 'cc');
$arr2 = array('aa2', 'bb', 'cc2');

$arr = new_array_merge($arr1, $arr2);
print_r($arr);

输出:

Array
(
[0] => aa
[1] => bb
[2] => cc
[3] => aa2
[4] => cc2
)

时间: 2024-10-31 22:14:44

PHP合并2个数字键数组的值的程序的相关文章

PHP数组关于数字键名的问题

以下是对PHP数组数字键名的几点总结: 键名长度只能在 int 长度范围内,超过int 范围后将会出现覆盖等混乱情况 在键名长度为 int 范围内存取值时,PHP会强制将数字键名转换为 int 数值型 数字键名长度大于19位时,将变成 0 键名正常长度时,字符串或数值类型一样 $i = 126545165; $arr['126545165'] = 'abc'; $arr[126545165] = 'uio'; var_dump($arr); echo ''; var_dump(isset($ar

解析数组非数字键名引号的必要性_php技巧

我看到过很多人操作数组的时候, 对于数组中的非数字键名不使用引号 复制代码 代码如下:   $array[key] = $value; 我可以理解有些人可能会觉得这样的代码很"整洁", 并且也能正常执行.更甚至,如果他很"幸运的"php配置的好: 复制代码 代码如下: error_reporting = ~E_NOTIC 他也许永远都沉浸在自己的"整洁"风格中, 看不到任何的NOTICE提示, 也不会意识到, 他这么做, 能损失多少的性能~来,

Safari浏览器里巧用 command+数字键

  Safari 浏览器里,按下 command 和数字键(比如 3 ),可以直接打开书签栏的(第三个)书签,省去了移动鼠标的麻烦. Firefox 和 Chrome 里,command+数字可以切换到已打开的相应标签页,比 control + tab 逐一切换要方便得多. Opera 里该快捷键会打开快速拨号区的相应网页.

电脑键盘数字键失灵怎么办

案例实操一: 网友问题:我的电脑不能使用键盘右边的小数字键区域了,"NumLock"灯是亮的,前几天还好好,我又没有动什么地方.请问问题出在哪里? 最佳答复:如果你使用的是Windows2000/XP的话,可能是由于启动了鼠标键功能,小数字键盘就被用来控制鼠标指针,失去了输入功能.选择"控制面板→辅助功能选项→鼠标",然后将"使用鼠标键"去掉即可. 案例实操二: 在有些时候,电脑用户发现键盘的小键盘0~9不能用了,点击没有反应,加减乘除按钮还是可

Win8大小写和数字键被锁定的具体解决方法

  1.在Win8系统下使用鼠标右键桌面上的空白区域,在随后出现的选项找到并点击屏幕分辨率选项; 2.在弹出来的窗口中,点击高级设置按钮; 3.在随后出现的窗口中找到屏幕显示选项卡,然后切换到"屏幕显示"选项卡下; 4.然后界面中找到关闭数字锁定和大小写锁定时选项,在选项下面找到始终在屏幕上显示提示符选项,使用鼠标点击始终在屏幕上显示提示符选项前面的圆圈,选定完成之后用户会发现系统不再出现大小写和数字键被锁定提示.

linux-centos7的小键盘的数字键为什么无法使用

问题描述 centos7的小键盘的数字键为什么无法使用 在服务器的centos系统里用virtual machine manager建虚拟机装centos7,装好发现小键盘的数字无法使用,在bin里,4,6分别是行首和行末,小键盘非数字字符的键位都正常,只有数字不行,想知道为什么 解决方案 MAC小键盘(数字键0~9)无法使用

c#-C# 注册了一个快捷键Ctrl+一个数字键事件,只有同时按下才触发相应事件问题

问题描述 C# 注册了一个快捷键Ctrl+一个数字键事件,只有同时按下才触发相应事件问题 Blockquote C# 注册了一个快捷键Ctrl+一个数字键事件,如Ctrl+7,只有同时按下才触发响应事件,如果第一次同时按下Ctrl+7,事件触发了,Ctrl不放,再次按7,事件不触发,部分代码如下: _favKey = hotkeyHelper.RegisterHotkey(Keys.D7, HotkeyHelper.KeyFlags.MOD_CONTROL); //按键注册 hotkeyHelp

php通过array_merge()函数合并关联和非关联数组的方法_php技巧

本文实例讲述了php通过array_merge()函数合并关联和非关联数组的方法.分享给大家供大家参考.具体分析如下: array_merge()是一个用于合并数组的php函数,后一个数组追加到前一个的结束位置并返回合并后的结果数组. <?php $beginning = 'foo'; $end = array(1 => 'bar'); $result = array_merge((array)$beginning, (array)$end); print_r($result); ?>

当json键为数字时的取值方法解析_javascript技巧

当json的键为数字时如何取值,如: var aa={'111':'aaaaa'}; alert(sss.111); 这样是不行的,alert不会弹任何东西. json的键必须是一个对象,才能取出东西,如: var aa={'s111s':'aaaaa'}; var idd="s111s"; alert(sss.idd); 解答: 对于数字键名或者非正常变量字符(比如有空格),必须使用 aa[x]的方式.var aa={'111':'aaaaa'}; alert(sss["1