In PHP, array is a very common data type, which is widely used in various types of applications. Sometimes, when processing array data, empty arrays will appear in the array. An empty array is an array without any elements in the array. This situation often occurs when dealing with complex data. For such cases, the empty array in the array needs to be deleted. This article will explain how to delete empty arrays using PHP.
1. Find the empty array
Before deleting the empty array, you first need to find the empty array in the array. PHP provides a variety of methods to find empty arrays in an array, such as using foreach loop, array_filter() function and array_walk() function. Below we will introduce these methods one by one.
1. Using foreach loop
When using foreach loop, you can use the empty() function to determine whether the array element is empty. If it is empty, it means that the array to which this element belongs is empty. array.
foreach($arr as $key => $value){ if(empty($value)){ unset($arr[$key]); } }
The above code will iterate through the array and find empty elements. If an empty element is found, it is removed from the array using the unset() function.
2. Use array_filter() function
array_filter() function can delete all empty elements in the specified array and return the result to a new array. When deleting, you can use the trim() function to remove all spaces from its value in order to check if the element is empty. The code is as follows:
$arr_new = array_filter($arr, 'trim');
The above code will use the array_filter() function to remove all empty elements and store the result in the $arr_new array.
3. Use the array_walk() function
The array_walk() function is an array traversal function. It will operate on every element in the array. When operating on array elements, you can use the is_array() function to check whether the element is empty, and if it is empty, use the unset() function to delete it. Here is a sample code:
array_walk($arr, function(&$value, $key){ if(is_array($value) && count($value) == 0){ unset($value); } });
The above code will iterate through the array and check if each array element is empty using the is_array() function. If it is, then use the unset() function to remove it from the array.
2. Delete the empty array
After finding the empty array, you can delete it from the array. PHP provides various methods to delete array elements, such as unset() function, array_pop() function, array_shift() function, etc. Below we will introduce these methods one by one.
1. Use the unset() function
The unset() function can delete the defined variables. When operating an array, you can use the unset() function to delete specified elements in the array. Here is the sample code:
unset($arr[array_search([], $arr)]);
The above code will use the array_search() function to find an empty array and remove it from the array.
2. Use array_pop() function
array_pop() function can delete the last element of the array and return the deleted element. This is not the same as deleting a specified array element. Here is the sample code:
array_pop($arr);
The above code will delete the last element of the array.
3. Use the array_shift() function
The array_shift() function can delete the first element of the array and return the deleted element. Here is the sample code:
array_shift($arr);
The above code will delete the first element of the array.
Summary
In PHP, dealing with arrays is a very common thing. When there are empty elements in the array, they need to be deleted. This article explains how to find and delete empty arrays. In actual development, you can choose to use different methods according to your own needs. If you have any questions, please leave a message for discussion.
The above is the detailed content of php array delete empty array. For more information, please follow other related articles on the PHP Chinese website!