0

私は kohana を使用しています。データベースからデータをフェッチしようとすると、クラス変数 ($user->firstname など) がデータベース データとして返されます。ユーザーテーブルには12列があり、8列をフェッチしますが、この時点では列の一部が空である可能性があります($user->phoneなど)。空の列番号を見つけるにはどうすればよいですか?(適切な方法..)

どうもありがとう

4

2 に答える 2

2

一般的に、次のようなことを試すことができます。

/**
 * Count number of empty data members in a row object.
 */
function countEmpty($row){
  $fields = array_keys($row->as_array());
  $cnt = 0;
  foreach($fields as $f){
    if (empty($row->$f)) $cnt++;
  }
  return $cnt;
}
于 2009-09-14T23:57:57.217 に答える
0

私は解決策を見つけました。PHPには魔法のget_object_vars関数があります:

$data = User_Model::factory()->read(
    array('id' => $user_id),
    'firstname, lastname, birthday, country, mobilephone, landphone, address'
);

$filled_data = 0;
foreach(get_object_vars($data) as $v)
{
    if ($v != '') $filled_data++;
}
return round($filled_data / count(get_object_vars($data)) * 100);
于 2009-09-15T23:37:57.537 に答える