方法:1、利用“array_filter()”函数,该函数可用回调函数过滤数组中元素,语法为“array_filter(数组,回调函数)”;2、利用foreach遍历数组元素,配合empty()函数找出空字段,用unset()函数删除即可。

本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑

php怎么去掉一维数组的空字段

方法一:利用array_filter函数

array_filter() 函数用回调函数过滤数组中的元素。

该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )

array 必需。规定要过滤的数组。

callback 可选。规定要用的回调函数。

flag 可选。决定 callback 接收的参数形式

方法二:利用foreach遍历数组元素,找到空元素删除.

empty() 函数用于检查一个变量是否为空。

unset() — 释放给定的变量。

void unset ( mixed $var [, mixed $... ] )

$var: 要销毁的变量。

unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。

示例如下:

<?php
//一维数组
$entry = array(
    0 => 'hello',
    1 => true,
    2 => -1,
    3 => '1',
    4 => '',
 );
 //方法一:利用array_filter函数
print_r(array_filter($entry));
$entry1 = array(
    0 => 'hello',
    1 => true,
    2 => -1,
    3 => '1',
    4 => '',
 );
 //方法二:利用foreach遍历数组元素,找到空元素删除
 foreach($entry1 as $k=>$v){
     if(empty($v)){
         unset($entry1[$k]);
     }
 }
 print_r($entry1);
?>

输出结果:

02.png


php怎么去掉一维数组的空字段