2017-05-19 8 views
0

Ich verwende PDO, um einige Werte aus meiner Datenbank auszuwählen.
Für jede Iteration von $ teachArray, speichere ich das ausgewählte Array in meine Variable $ language_id.
Ich werde dann jedes leere Array los, das ich in meinem $ language_id habe und es meinem $ NoEmptyArray_language_id
zuweisst. Allerdings speichere ich nur das letzte Array innerhalb von $ language_id in $ NoEmptyArray_language_id.Hinzufügen von Arrays zu einer PHP-Variablen

Ich möchte jedes Array in $ sprache_id in $ NoEmptyArray_language_id verketten.

Ich kann nicht $NoEmptyArray_language_id .= $language_id; verwenden, da es mir einen Fehler geben wird: Array String Umwandlung

Hier ist meine einfache Abfrage.

$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

klingt verwirrend. Erzählen Sie uns vielleicht, was Ihr Endziel ist. – CodeGodie

+0

Ich möchte nur die Werte aus meiner $ sprache_id in $ NoEmptyArray_language_id – Viteazul

+0

hinzufügen Das klingt wie ein Kandidat für eine 'JOIN', so dass Sie nicht eine" N + 1 "laden, knallt eine Abfrage jedes Mal durch eine Schleife. – tadman

Antwort

2

Sie haben $NoEmptyArray_language_id = array();

auch Code mit ändern Sie $NoEmptyArray_language_id[] = $language_id;

Jetzt mit Werten in $ NoEmptyArray_language_id haben Array zu definieren.

Wenn Sie String erhalten möchten, konvertieren Sie dieses Array in String mit Implodefunktion.

+0

Danke, dass es funktioniert! – Viteazul

Verwandte Themen