0

これを行う正しい方法を見つけるために、私は数時間探してきました。どんな助けでも大歓迎です。

定義された行で 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

よろしくお願いいたします。

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 に答える