2017-05-19 120 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