PHP 将 mysql 行转换为数组以查找其大小


PHP convert mysql row into array to find its size

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

我正在寻找一种方法来计算定义行中非 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;
  }