0

我一直在寻找几个小时来找到正确的方法来做到这一点。任何帮助将不胜感激。

我正在寻找一种方法来计算定义行中非空字段的数量。

我想使用 mysql_query 将行转换为数组,跳过空字段。然后我想取那个数组并找到它的大小。

mysql_query(SELECT * FROM table)

$value = array(list, of, values, from, row, in, my, database);
echo sizeof($value); //value would be 8

我也尝试过使用 mysql_num_fields() 计算字段,但不知道如何从结果中减去空字段。

$test = mysql_query("SELECT * FROM table");
$num_rows = mysql_num_fields($test);
echo $num_rows; //but subtracting all fields that are NULL

预先感谢您的帮助。

4

1 回答 1

0

清理数组的一种更简单的方法是使用 php 的 array_filter 函数而不使用回调参数。默认情况下,该函数设置为删除包含 false(或 0)、null 或 "" 的元素。

//This prunes out 'false', '0', 'null' or ''
$my_array = array_filter($my_array);

首先将mysql行存储到数组中,然后过滤它,然后使用cont函数计算元素

$result = mysql_query("SELECT * FROM table");

while($row = mysql_fetch_array($result))
  {
   $row = array_filter($row); //remove empty values
   $num_of_values_non_empty = count($row);
   echo $num_of_values_non_empty;
  }
于 2012-05-24T05:11:07.040 回答