Home  >  Article  >  Backend Development  >  How to determine whether two-dimensional array values ​​are repeated in PHP

How to determine whether two-dimensional array values ​​are repeated in PHP

PHPz
PHPzOriginal
2023-04-25 09:04:201344browse

In PHP development, it is often necessary to operate arrays, which may involve determining whether a value in a two-dimensional array is repeated. For example, when submitting a form, you need to determine whether the user name has been registered. Here is a method to determine whether two-dimensional array values ​​are repeated.

Method 1: Use double loop traversal

This method is relatively simple, which is to use a double loop to traverse the two-dimensional array and compare each value one by one to see if it is repeated. The code is as follows:

function is_duplicate($arr, $value) {
    foreach ($arr as $sub_arr) {
        foreach ($sub_arr as $sub_value) {
            if ($sub_value == $value) {
                return true;
            }
        }
    }
    return false;
}

Among them, $arr is a two-dimensional array, and $value is the value to be judged. First traverse the one-dimensional array, then traverse the two-dimensional array, and return true if the same value is found. Otherwise, false is returned after traversing the entire array.

Method 2: Use the in_array() function

The in_array() function can determine whether a value exists in the array. We can use this function to determine a value in a two-dimensional array. Is it redundant. The code is as follows:

function is_duplicate($arr, $value) {
    foreach ($arr as $sub_arr) {
        if (in_array($value, $sub_arr)) {
            return true;
        }
    }
    return false;
}

Among them, $arr is a two-dimensional array, and $value is the value to be judged. First traverse the one-dimensional array, and then use the in_array() function to determine whether the value exists in the current two-dimensional array. If it exists, it returns true. Otherwise, false is returned after traversing the entire array.

Method 3: Use array_column() function

array_column() function can take out a column of values ​​​​from a two-dimensional array. We can use this function to determine whether a value in the two-dimensional array is repeat. The code is as follows:

function is_duplicate($arr, $value) {
    $column = array_column($arr, 0);
    return in_array($value, $column);
}

Among them, $arr is a two-dimensional array, and $value is the value to be judged. Use the array_column() function to retrieve the value of the first column in the two-dimensional array, and then use the in_array() function to determine whether the value is in the retrieved column. If it exists, it returns true. Otherwise, return false.

The above three methods can all determine whether a certain value in the two-dimensional array is repeated. Which method to choose can be selected according to the actual situation. For example, when the amount of data is large, the efficiency of double loop traversal is low. You can choose to use array_column() function and other methods.

The above is the detailed content of How to determine whether two-dimensional array values ​​are repeated in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn