如何隐藏值为0的PHP数组?

时间:2018-09-25 02:30:06

标签: php mysql arrays

我必须从结果中隐藏所有空数组或值为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;
    }

2 个答案:

答案 0 :(得分:0)

您的函数中缺少代码,因此我使用了可用的代码。

尝试仅选择要从中获取数据的cols,然后检查col每行是否为空。如果有一列包含数据,则返回整行。

    $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;
}

答案 1 :(得分:0)

另外array_filter可能会有所帮助,因为它可以排除结果集上的所有错误值(不带回调使用)。

More info on array_filter