如何从db获取空字段

时间:2017-03-18 15:46:53

标签: php mysql arrays

我想从db中提取空字段,但作为回报,此代码无法正常工作

function check_empty_fields($user_last_ad_id){
    $query = $this->db->query(
      "SELECT * FROM ad
      WHERE ad_user_id = ?
      ORDER BY id
      DESC LIMIT 1",
      $user_last_ad_id)->result_array()[0];

      foreach ($query as $key => $value) {
        if (empty($value) or strlen($value) == 0 or $value == 0) {
          $empty_field[] = $key;
        }
      }

      return $empty_field;
  }

所有字段这是我的所有数据库表字段,我想过滤空和" 0"字段

Array
(
    [id] => 283
    [ad_user_id] => 3
    [ad_name] => Asus n555
    [ad_category] => 1
    [ad_title] => 3
    [ad_message_id] => 0
    [ad_second_message_id] => 0
    [ad_price] => 0
    [ad_photo_file_id] => 0
    [ad_explanation] => 
    [ad_link] => 
    [ad_date] => 0000-00-00
    [ad_cast_premition] => 0
)

输出:这是函数返回的输出

Array
(
    [0] => ad_name
    [1] => ad_message_id
    [2] => ad_second_message_id
    [3] => ad_price
    [4] => ad_explanation
    [5] => ad_link
    [6] => ad_date
    [7] => ad_cast_premition
)

如你所见,它没有过滤空或者" 0"场, 我怎么能这样做

有什么想法吗?

感谢

2 个答案:

答案 0 :(得分:1)

if (empty($value) or strlen($value) == 0 or $value == 0) {

应该是

if (empty($value) || strlen($value) == 0 || value == 0) {

或者说这也适用

if (!$value) {

答案 1 :(得分:1)

this.setState

应该是

this

带3个等号,表示“严格”