php unique array

WBOY
WBOYOriginal
2023-05-19 16:15:08592browse

How to operate unique arrays in PHP

In the process of developing web applications, arrays are one of the most commonly used data structures in PHP. Arrays are widely used in PHP and can store any type of data, from strings and numbers to objects and arrays themselves. However, sometimes we need to operate on a specific array, for example, we need to operate on a unique array. In this article, we will explain how to create and manipulate unique arrays in PHP.

What is a non-repeating array

A non-repeating array refers to an array that does not have duplicate values ​​in the array. That is, every element in this array is unique. When we need a data structure that stores unique, non-duplicating values, we can use non-duplicating arrays.

Create unique arrays in PHP

PHP provides several ways to create unique arrays. Here we mainly introduce two methods.

The first way is to use the array_unique() function in PHP. The function of this function is to remove duplicate values ​​from the array and return a non-duplicate array.

The sample code is as follows:

$array = array('a', 'b', 'c', 'd', 'a', 'c');
$unique_array = array_unique($array);

In the above sample code, we create an array $array containing duplicate values, and then use the array_unique() function to remove duplicates and save the result to $unique_array middle. Now, $unique_array only contains unique values ​​'a', 'b', 'c', 'd'.

It should be noted that the array_unique() function can only remove duplicate values ​​in a one-dimensional array. If you want to remove duplicate values ​​in a multi-dimensional array, you need to call this function recursively.

The second way is to use the array_flip() and array_keys() functions in PHP. The idea of ​​this method is to use the array_flip() function to swap the keys and values ​​of the array, which will automatically remove duplicate values, and then use the array_keys() function to restore the original key values. The sample code is as follows:

$array = array('a', 'b', 'c', 'd', 'a', 'c');
$unique_array = array_keys(array_flip($array));

In the above sample code, we create an array of duplicate values ​​$array, and then use the array_flip() function to exchange the keys and values ​​of the array to generate a "duplicate" array. Next, use the array_keys() function to obtain the reordered key values ​​and generate an array containing unique values.

Operation with unique arrays

Once a unique array is created, we can use various PHP array functions to operate on it. These operations include accessing, adding, deleting, and searching array elements.

  1. Accessing array elements

If you want to access unique elements in an array, you can use subscripts or foreach loops.

The sample code is as follows:

$unique_array = array('a', 'b', 'c', 'd');
echo $unique_array[0]; // 输出 a
foreach($unique_array as $value){
    echo $value . ' ';
}
// 输出 a b c d

In the above sample code, we use subscripts and foreach loops to access non-repeating elements in the array.

  1. Add elements to an array

If you want to add elements to a non-repeating array, you can use the array_push() or array_unshift() function in PHP.

The sample code is as follows:

$unique_array = array('a', 'b', 'c', 'd');
array_push($unique_array, 'e');
array_unshift($unique_array, '0');
print_r($unique_array);
// 输出 Array ( [0] => 0 [1] => a [2] => b [3] => c [4] => d [5] => e )

In the above sample code, we use the array_push() and array_unshift() functions to add elements to the end and beginning of a non-repeating array.

It should be noted that if you add an existing element to a non-duplicate array, the addition operation will be invalid and duplicate elements will not appear in the array.

  1. Delete elements from an array

If you want to delete elements from a non-duplicate array, you can use the unset() function, array_splice() function or array_filter in PHP () function.

The sample code is as follows:

$unique_array = array('a', 'b', 'c', 'd');
unset($unique_array[1]);
print_r($unique_array);
// 输出 Array ( [0] => a [2] => c [3] => d )

$unique_array = array('a', 'b', 'c', 'd');
array_splice($unique_array, 1, 2);
print_r($unique_array);
// 输出 Array ( [0] => a [3] => d )

$unique_array = array('a', 'b', 'c', 'd');
$unique_array = array_filter($unique_array, function($value) {
    return $value != 'a';
});
print_r($unique_array);
// 输出 Array ( [1] => b [2] => c [3] => d )

In the above sample code, we use the unset() function, array_splice() function and array_filter() function to delete elements from the non-duplicate array respectively.

It should be noted that when using the unset() function to delete an element in the array, the position of the element still exists, but the value of the position becomes NULL. If you want to completely remove the position from the array, you should use the array_splice() function.

  1. Search for elements in an array

If you need to search for elements in a non-repeating array, you can use the array_search() function in PHP.

The sample code is as follows:

$unique_array = array('a', 'b', 'c', 'd');
$key = array_search('c', $unique_array);
echo $key; // 输出 2

In the above sample code, we use the array_search() function to find the element 'c' in the array that is not repeated, and return the subscript of the element in the array .

Conclusion

In this article, we introduced how to create and manipulate non-duplicate arrays in PHP. To create a unique array, you can use the array_unique() function or the array_flip() and array_keys() functions. To operate a unique array, you can use the common array functions in PHP. For situations where unique values ​​often need to be processed, using non-duplicate arrays can effectively improve the running efficiency of the program.

The above is the detailed content of php unique array. 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
Previous article:php delete current arrayNext article:php delete current array