Php 比较两个数组的相似性
我如何比较PHP中的两个数组以找出每个数组的共同值 例如 阵列1Php 比较两个数组的相似性,php,arrays,compare,Php,Arrays,Compare,我如何比较PHP中的两个数组以找出每个数组的共同值 例如 阵列1 Array ( [0] => ace [1] => one [2] => five [3] => nine [4] => elephant ) 阵列2 Array ( [0] => elephant [1] => seven [2] => ace [3] => jack [4] => que
Array
(
[0] => ace
[1] => one
[2] => five
[3] => nine
[4] => elephant
)
阵列2
Array
(
[0] => elephant
[1] => seven
[2] => ace
[3] => jack
[4] => queen
)
输出
排列
(
[0]=>ace
[1] =>大象
)函数可以做到这一点。如果您使用的语言中没有内置交叉点,但有哈希,则只需将一个数组的所有元素添加到哈希中,然后执行第二个数组检查,以查看它们是否在刚刚构建的哈希中 如果你不在乎秩序,这就是一切。如果您关心顺序,那么这只是一个for循环,看看a[i]==b[i]PHP是否有一个函数可以实现这一点。例如,ypo可以将以下代码放入测试中:
<?php
$array1 = array('ace', 'one', 'five', 'nine', 'elephant');
$array2 = array('elephant', 'seven', 'ace', 'jack', 'queen');
print_r($array1); print('<br>');
print_r($array2); print('<br>');
print_r(array_intersect($array1, $array2)); print('<br>');
?>
请注意,这实际上不会在结果中为您提供连续的键,这些键似乎来自给定给array\u intersect()
的第一个数组。如果获得连续索引数组很重要,则可能需要一个后处理步骤来调整它。类似的内容应该是一个良好的开端(修改原始fiddle以使用连续索引):
Array ( [0] => ace
[1] => one
[2] => five
[3] => nine
[4] => elephant )
Array ( [0] => elephant
[1] => seven
[2] => ace
[3] => jack
[4] => queen )
Array ( [0] => ace
[4] => elephant )
<?php
$array1 = array('ace', 'one', 'five', 'nine', 'elephant');
$array2 = array('elephant', 'seven', 'ace', 'jack', 'queen');
print_r($array1); print('<br>');
print_r($array2); print('<br>');
$array3 = array();
foreach (array_intersect($array1, $array2) as $val) {
array_push($array3, $val);
}
print_r($array3); print('<br>');
?>