Правильный способ подсчета пустых переменных

StackOverflow https://stackoverflow.com/questions/1424437

Вопрос

Я использую 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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top