如何隐藏空值为0的php数组?

l3zydbqr  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(296)

我必须从结果中隐藏所有空数组或值为0的数组。我该怎么办?

$return_arr = array();
$fetch = mysqli_query($conn, "SELECT...");
 while ($row = mysqli_fetch_array($fetch, MYSQLI_ASSOC)) {
   $row_array['id'] = $row['ordr'];
        $row_array['name'] = $row['name'];
        $row_array['icon'] = $row['icon'];
        $row_array['file_a'] = $row['file_a'];
        $row_array['file_b'] = $row['file_b'];
        $row_array['file_c'] = $row['file_c'];
        $row_array['file_r'] = $row['file_r'];

        array_push($return_arr,$row_array);
    }
    $response_arr = json_encode($return_arr);
    return $response_arr;
    }
yfjy0ee7

yfjy0ee71#

您的函数中缺少代码,因此我使用了可用的代码。
尝试只选择要从中获取数据的列,然后检查每行的列是否为空。如果有一列包含数据,则返回整行。

$return_arr = array();
    $fetch = mysqli_query($conn, "SELECT name,icon,file_a,file_b,file_c,file_r FROM...");
    while ($row = mysqli_fetch_array($fetch, MYSQLI_ASSOC)) {
        $tmp = 0;
        foreach( $row as $key => $val ){
            if( !empty($row[$key]) ) $tmp++;
        }
        if( $tmp > 0 ) array_push($return_arr,$row_array);
    }
    $response_arr = json_encode($return_arr);
    return $response_arr;
}
2w2cym1i

2w2cym1i2#

array_filter 可能会有帮助,因为它可以排除结果集上的所有假值(在没有回调的情况下使用)。
有关数组过滤器的详细信息

相关问题