我一直在寻找几个小时来找到正确的方法。任何帮助将不胜感激。
我正在寻找一种方法来计算定义行中非 NULL 的字段数。
我想使用 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
提前感谢您的帮助。
清理数组的一种更简单的方法是使用 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;
}