📌  相关文章
📜  PHP |检查两个数组是否包含相同的元素

📅  最后修改于: 2022-05-13 01:54:11.071000             🧑  作者: Mango

PHP |检查两个数组是否包含相同的元素

在PHP有两种类型的数组,索引数组关联数组。在索引数组的情况下,数组元素是从 0 开始的数字索引,而在关联数组的情况下,数组元素具有与其关联的命名键。
现在,要检查两个数组是否相等,可以对数组进行迭代并检查每个索引与两个数组中的索引关联的值是否相同。 PHP有一个内置的数组运算符( === ) 来检查相同的,但这里数组元素的顺序并不重要。当数组元素的顺序不重要时,可以应用以下两种方法来检查数组是否相等:

  • 使用 sort()函数对数组元素进行排序,然后使用相等运算符。
  • 在关联数组的情况下使用数组运算符( == )。

索引数组中的相等性检查:这可以应用于完成字符串整数索引的数字数组。在这里,使用 sort()函数对数组元素进行排序,然后使用相等运算符使用数组运算符检查这两个数组的索引。这里由于数组元素的顺序并不重要,所以排序会使所有数组元素按顺序排列,因此如果两个数组相等,则两个数组的相同索引对应的值将相同。

程序:使用排序检查两个数组是否相等的PHP程序。


输出:
Both arrays are same
Both arrays are not same

关联数组中的相等性检查:在关联数组的情况下,所有元素都有一个与之关联的索引,因此不需要排序,可以直接应用相等运算符来检查相等性。基本上,相等运算符比较两个数组中对应于索引的值,如果所有索引值都相同,则它们相等,否则它们不相等。



Syntax: bool $arr1 == $arr2

在索引数组的情况下,排序是为了按顺序排列元素,而在关联数组的情况下,元素已经被索引,因此不再需要排序。

程序:检查两个关联数组是否相等的PHP代码

 'geeks',
               'second' => 'for',
               'last' => 'ide'
        );
$arr2 = array( 'first' => 'geeks',
               'last' =>'ide',
               'second' =>'for'
        );
      
// Check for equality
if ($arr1 == $arr2)
    echo "Both arrays are same\n";
else
    echo "Both arrays are not same\n";
      
// Sample arrays
$arr3 = array( 'first' => 'geeks',
               'second' => 'for',
               'last' => 'ide'
        );
$arr4 = array( 'first' => 'geek',
               'second' =>'for',
               'last' =>'geeks'
        );
      
// Check for equality
if ($arr3 == $arr4)
    echo "Both arrays are same";
else
    echo "Both arrays are not same";
  
?>
输出:
Both arrays are same
Both arrays are not same