我必须从结果中隐藏所有空数组或值为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;
}
答案 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
可能会有所帮助,因为它可以排除结果集上的所有错误值(不带回调使用)。