2017-05-19 94 views
2

我正在使用PDO为了从我的数据库中选择一些值。
对于$ teachArray的每次迭代,我将选定的值存储到我的$ language_id变量中。
但是,我也存储了一些空的数组,这不是我的意图。从PHP变量中删除空数组

我想知道是否可以排除或只是摆脱我的PHP变量内的空数组。

这是我的简单查询。

$sqlFindId = "SELECT language_id 
       FROM language_skill 
       WHERE person_id = :person_id AND language_learning = :language_learning AND language_id = :language_id"; 

      foreach ($teachArray as $dataTeach) 
      { 
       $query = $handler->prepare($sqlFindUser); 
       $query->bindValue(':person_id', $_SESSION['person_id']); 
       $query->bindValue(':language_learning', 1); 
       $query->bindValue(':language_id', $dataTeach); 
       $query->execute(); 
       $language_id = $query->fetchAll(PDO::FETCH_ASSOC); 
       print_r($language_id); 
      } 

我在我的查询中使用print_r来查看我的变量内容。

这是我的print_r的结果。我想摆脱第一个和最后一个空的数组。可以注意到,这些空数组可以出现在我的print_r中的任何地方。

Array () Array ([0] => Array ([language_id] => 13)) Array () 

我一直在使用

$array= array_filter(array_map('array_filter', $language_id)); 

尝试,但它给出了相同的结果

回答

0
  foreach ($teachArray as $dataTeach) 
     { 
      $query = $handler->prepare($sqlFindUser); 
      $query->bindValue(':person_id', $_SESSION['person_id']); 
      $query->bindValue(':language_learning', 1); 
      $query->bindValue(':language_id', $dataTeach); 
      $query->execute(); 
      $language_id = $query->fetchAll(PDO::FETCH_ASSOC); 
      if (count($language_id) != 0) { 
       print_r($language_id); 
      } 
     } 

希望它能帮助:)

+0

哇它工作的感谢! – Viteazul

+0

什么样的NoEmptyArray类型?它是多维的还是普通的数组? – Ukasyah

+0

@Uasyasy你需要使用at-sign来通知Viteazul你的消息(就像我刚刚对你做的那样)。您可以修改您的评论前5分钟。只需在您之前的评论中添加“@ Vitezaul”即可。 – mickmackusa