2016-09-12 4 views
0

Meine Abfrage sieht wie folgt aus:Zugang MySql Array von cloumn Name

SELECT * FROM tblName WHERE btn_group_id = 1;

Auch ich habe Reihe von Sprachen $langs = array(5,7,19) das gleiche in btn_lang_id

$btn = Array 
(
    [0] => Array 
     (
      [btn_id] => 1 
      [btn_group_id] => 1 
      [btn_lang_id] => 5 
      [btn_text] => aaa1 
     ) 

    [1] => Array 
     (
      [btn_id] => 2 
      [btn_group_id] => 1 
      [btn_lang_id] => 7 
      [btn_text] => bbb2 
     ) 

    [2] => Array 
     (
      [btn_id] => 3 
      [btn_group_id] => 1 
      [btn_lang_id] => 19 
      [btn_text] => ccc3 
     ) 
) 

Meine Frage ist, wie ich dieses Array echo Daten verwenden, können mithilfe btn_lang_id

foreach ($langs as $lang){ 
echo $btn[$lang['lang_id']]['btn_text']; 
} 

ich die oben genannten 3-Arrays wollen von $btn zugegriffen von Sprache ID nicht durch Index 0,1,2. Ich da irgendwie?

+0

können Sie speichern das Array serialisiert oder im JSON-Format, und rufen Sie sie dann von der DB und unserialize oder json dekodieren. Auf diese Weise können Sie die Daten speichern und die Array-Struktur erhalten. –

Antwort

1

Sie können ein Array mit dem „btn_lang_id“ als Schlüssel mit dem folgenden Code erstellen:

<?php 
$langs = array(5,7,19); 

$btn = array(
    '0' => array(
      'btn_id' => 1, 
      'btn_group_id' => 1, 
      'btn_lang_id' => 5, 
      'btn_text' => 'aaa1', 
     ), 
    '1' => array(
      'btn_id' => 2, 
      'btn_group_id' => 1, 
      'btn_lang_id' => 7, 
      'btn_text' => 'bbb2', 
     ), 
    '2' => array(
      'btn_id' => 3, 
      'btn_group_id' => 1, 
      'btn_lang_id' => 19, 
      'btn_text' => 'ccc3', 
     ), 
); 

$customArr = array(); 
foreach($langs as $key=>$value){ 
    $customArr[$value] = $btn[$key]; 
} 
print_R($customArr); 
?> 
Verwandte Themen