Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在不删除键和不重置键的情况下删除数组的空值_Php_Codeigniter - Fatal编程技术网

Php 如何在不删除键和不重置键的情况下删除数组的空值

Php 如何在不删除键和不重置键的情况下删除数组的空值,php,codeigniter,Php,Codeigniter,如何删除数组的空值而不删除键,也不重置键 Eg: [0]= "test1" [1]= "" [2]= "test2" 执行array_filter会产生以下输出: [0]= "test1" [2]= "test2" 这里的钥匙也被取下了。是否有一种只删除值而不删除键的方法来获得如下输出: [0]= "test1" [1]= "test2" 是否有php函数可以执行此操作?您可以使用array\u values从数组中获取所有值,并对

如何删除数组的空值而不删除键,也不重置键

 Eg:
    [0]= "test1"
    [1]= ""
    [2]= "test2"
执行array_filter会产生以下输出:

    [0]= "test1"
    [2]= "test2"
这里的钥匙也被取下了。是否有一种只删除值而不删除键的方法来获得如下输出:

    [0]= "test1"
    [1]= "test2"

是否有php函数可以执行此操作?

您可以使用
array\u values
从数组中获取所有值,并对数组进行数字索引

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

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

echo "<pre>";
print_r( $result );
echo "</pre>";

您可以使用array_filter函数对其进行过滤

 Array
(
    [0] => test1
    [2] => test2
)

您想要的输出与您的问题不匹配:您确实想要重置键,因为您的第二个元素具有不同的键。例如,如果我的数组键是array:3[▼ 1=>“test1”3=>“test2”5=>“test3”],然后数组值(数组过滤器($arr))将数组重置为数组:3[▼ 0=>“test1”1=>“test2”2=>“test3”]@程序员是的,这应该是输出
    $arr = ['test1','','test2'];
     echo '<pre />';
     print_r(array_filter($arr));
 Array
(
    [0] => test1
    [2] => test2
)