如果两个数组在不使用任何循环的情况下以相同的格式具有相同的值而不管键

时间:2015-06-19 08:24:38

标签: php arrays

array1 = (a=>1, b=>2, c=>3, d=>1 )
array2 = (g=>1, d=>2, f=>3, e=>1 )

由于密钥不同,我无法使用===运算符。以上两个数组具有相同的值格式,如果有,则显示yes,我总是可以运行循环但是想避免该部分。

2 个答案:

答案 0 :(得分:2)

您可能正在寻找array_values()

<?php
$array1 = ['a'=>1 ,'b'=>2, 'c'=>3, 'd'=> 1];
$array2 = ['g'=>1 ,'d'=>2, 'f'=>3, 'e'=> 1];

var_dump(array_values($array1)===array_values($array2)); // bool(true)
?>

答案 1 :(得分:0)

您可以使用array_values()函数临时标准化密钥。

$tmp1 = array_values(array1);
$tmp2 = array_values(array2);

if($tmp1 === $tmp2) echo 'yes';