Check if Array Contains All Values of Another Array in PHP

This tutorial will discuss about unique ways to check if array contains all values from another array in php.

Table Of Contents

Method 1: Using array_diff() function

Suppose we have two arrays,

$arr1 = [11, 56, 43];
$arr2 = [21, 22, 56, 33, 43, 11];

now we want to check if all the elements of the first array exist in the second array or not. For that we will pass both the array into the array_diff() function, and it will return a new array containing only those values which are present in first array but not present in the second array. Then we will check if this returned array is empty or not. If yes, then it means all the values from the first area are present in the second array.

Let’s see the complete example,

<?php
$arr1 = [11, 56, 43];
$arr2 = [21, 22, 56, 33, 43, 11];

// Get the difference between the two arrays
// i.e. values which are in arr1 but not in arr2
$diff = array_diff($arr1, $arr2);

// Check the diff array is empty
if (empty($diff)) {
    echo "Yes, all elements of first array are present in second array";
} else {
    echo "No, all elements of first array are not present in the second array";
}
?>

Output

Yes, all elements of first array are present in second array

Method 2: Using foreach() function

Using foreach() function, we can iterate over all the elements of the first array and during iteration we will check each element exists in the second array or not. As soon as we find an element that does not exist in the second array, we will mark the result value as false and break the loop. At the end of the loop if the result value is true, that it means all the elements of first are present in the second array.

Let’s see the complete example,

<?php
$arr1 = [11, 56, 43];
$arr2 = [21, 22, 56, 33, 43, 11];

$result = true;

// Loop through all elements of $arr1 and
// check if it is present in $arr2
foreach ($arr1 as $elem) {
    if (!in_array($elem, $arr2)) {
        $result = false;
        break;
    }
}

if ($result) {
  echo "Yes, all elements of first array are present in second array";
} else {
  echo "No, all elements of first array are not present in the second array";
}
?>

Output

Yes, all elements of first array are present in second array

Summary

We learned about two ways to check if all elements of first array are present in second array in PHP. Thanks.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top