Правильный способ подсчета пустых переменных
Вопрос
Я использую kohana, и когда вы пытаетесь извлечь данные из базы данных, он возвращает переменные класса (например, $ user-> имя) в качестве данных базы данных. Пользовательская таблица имеет 12 столбцов, а я выбираю 8 столбцов, но на этом этапе некоторые столбцы могут быть пустыми (например, $ user-> gt; phone). Как я могу найти пустой номер столбца? (Правильный путь ..)
Большое спасибо
Решение
В общем, вы можете попробовать что-то вроде:
/**
* 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);
Не связан с StackOverflow