空の変数をカウントする適切な方法
質問
kohanaを使用しています。データベースからデータを取得しようとすると、クラス変数($ user-> firstnameなど)がデータベースデータとして返されます。ユーザーテーブルには12列あり、8列をフェッチしますが、この時点でいくつかの列は空である可能性があります($ user-> 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;
}
他のヒント
iで解決策が見つかりました。 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