Home >Backend Development >PHP Problem >php remove empty string from array

php remove empty string from array

PHPz
PHPzOriginal
2023-05-05 20:48:06697browse

PHP is an open source, easy-to-learn server-side scripting language that is widely used in Web development, especially the development of dynamic web applications. In PHP development, operating arrays is a very common operation. However, when processing arrays, we often need to remove empty strings from the array. Below, we will explain in detail how to remove empty strings from arrays using PHP.

1. What is an empty string?

In PHP, an empty string means that the content of the string represented by the string variable is empty, which can also be called a null value. or a blank string. Here are some examples:

$str1 = "";
$str2 = " ";
$str3 = null;

Among them, $str1 and $str2 both represent empty strings, and $str3 represents a null value.

2. Remove empty strings from the array

In PHP, we can use the array_filter() function to remove empty strings from the array. The array_filter() function will process each element in the incoming array as a parameter of the callback function. If the callback function returns true, the current element will be retained, otherwise the current element will be deleted. Based on this principle, we can filter out empty strings in the array by using a custom callback function. The following is the specific implementation method:

function removeEmpty($arr){
  foreach ($arr as $key => $value) {
    if(is_array($value)){//如果$value是数组则递归调用removeEmpty函数
      $arr[$key] = removeEmpty($value);
    }
    //以下处理字符串
    if(!is_array($value) && !mb_strlen(trim($value))){//如果$value是空字符串则删除
      unset($arr[$key]);
    }
  }
  return $arr;
}
$arr = array("a"=>"aaa", "b"=>"   ", "c"=>null, "d"=>"");
print_r(removeEmpty($arr));//输出结果:Array ( [a] => aaa ) 

In the above code, we define the removeEmpty() function. In this function, we first traverse each element in the array to determine whether it is an array. If so, then Call the removeEmpty() function recursively to convert it into an array that does not contain empty strings. If the current element is a variable of string type, use the trim() function to remove spaces at both ends, and use the mb_strlen() function to calculate the length of the string. If the length of the string is 0, it means that this variable represents an empty string and we need to delete it from the array. Finally, the removeEmpty() function returns an array with empty strings removed.

3. Practical Application

Below, we use a practical case to further illustrate how to use PHP to remove empty strings from arrays.

Suppose we have an array of product information, in which the values ​​​​of some elements are empty strings or null values:

$productInfo = [
   "id" => "001",
   "name" => "苹果 iPhone 12",
   "color" => "",
   "price" => 10999,
   "description" => null,
   "in_stock" => true
];

We need to remove the empty strings or null values ​​​​in this array , and then output the removed array. We can use the above removeEmpty() function to achieve this requirement:

$filteredArray = removeEmpty($productInfo);
print_r($filteredArray);//输出结果:Array ( [id] => 001 [name] => 苹果 iPhone 12 [price] => 10999 [in_stock] => 1 ) 

In the above code, we pass in the $productInfo array as a parameter of the removeEmpty() function, removing the empty strings and After the value, a new array $filteredArray is obtained. Finally, we use the print_r() function to output the $filteredArray array and obtain the array after removing empty strings.

4. Summary

In PHP, removing empty strings from arrays is a very common requirement. We can use the array_filter() function and a custom callback function to achieve this requirement. Using this technique can make our code more streamlined and efficient, and avoid unexpected errors caused by empty strings.

The above is the detailed content of php remove empty string from 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