【发布时间】:2009-09-14 23:40:31
【问题描述】:
我使用 kohana,当您尝试从数据库中获取数据时,它会返回类变量(如 $user->firstname)作为数据库数据。用户表有 12 列,我获取 8 列,但此时某些列可能为空(如 $user->phone)。我怎样才能找到空列号?(正确的方式..)
非常感谢
【问题讨论】:
标签: php oop class count kohana
我使用 kohana,当您尝试从数据库中获取数据时,它会返回类变量(如 $user->firstname)作为数据库数据。用户表有 12 列,我获取 8 列,但此时某些列可能为空(如 $user->phone)。我怎样才能找到空列号?(正确的方式..)
非常感谢
【问题讨论】:
标签: php oop class count kohana
一般来说,您可以尝试以下方法:
/**
* 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;
}
【讨论】:
我找到了解决方案。 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);
【讨论】: