2017-05-19 134 views
0

我正在使用PDO爲了從我的數據庫中選擇一些值。
對於$ teachArray的每次迭代,我將選中的數組存儲到我的$ language_id變量中。
然後,我擺脫了我的$ language_id中的任何空數組,並將其分配給我的$ NoEmptyArray_language_id
。但是,我僅將$ language_id中的最後一個數組存儲在$ NoEmptyArray_language_id中。將數組添加到php變量中

我想將$ language_id中的每個數組連接到$ NoEmptyArray_language_id。

我不能使用$NoEmptyArray_language_id .= $language_id;,因爲它會給我一個錯誤:數組到字符串轉換

這裏是我的簡單查詢。

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

      $NoEmptyArray_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_COLUMN, 0); 
        if (count($language_id) != 0) { 
         $NoEmptyArray_language_id .= $language_id; 

        } 

       } 
       print_r($NoEmptyArray_language_id); 
+0

聽起來令人困惑。也許告訴我們你的最終目標是什麼。 – CodeGodie

+0

我只想將我的$ language_id中的值添加到$ NoEmptyArray_language_id中 – Viteazul

+0

這聽起來像是一個'JOIN'的候選人,因此您不需要執行「N + 1」加載,每次通過某個循環就會將查詢砰一聲。 – tadman

回答

2

你必須定義$NoEmptyArray_language_id = array();

還與$NoEmptyArray_language_id[] = $language_id;

現在,你必須在$ NoEmptyArray_language_id值陣列更改代碼。

如果你想獲得字符串使用implode函數將這個數組轉換爲字符串。

+0

謝謝你的作品! – Viteazul