Home >Backend Development >PHP Problem >php unique array
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.
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.
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.
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.
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!