如何在不删除键的情况下删除数组的空值,也无需重置键

Pro*_*mer 5 php codeigniter

如何在不删除键的情况下删除数组的空值,也无需重置键.

 Eg:
    [0]= "test1"
    [1]= ""
    [2]= "test2"
Run Code Online (Sandbox Code Playgroud)

执行array_filter会产生以下输出:

    [0]= "test1"
    [2]= "test2"
Run Code Online (Sandbox Code Playgroud)

这里的密钥也被删除了.有没有办法只删除值而不删除键来获得如下输出:

    [0]= "test1"
    [1]= "test2"
Run Code Online (Sandbox Code Playgroud)

是否有任何PHP功能呢?

Edd*_*die 4

您可以使用array_values来获取数组中的所有值并以数字方式索引数组。

$arr = array("test1","","test2");

$result = array_values( array_filter( $arr ) );

echo "<pre>";
print_r( $result );
echo "</pre>";
Run Code Online (Sandbox Code Playgroud)

这将导致:

Array
(
    [0] => test1
    [1] => test2
)
Run Code Online (Sandbox Code Playgroud)