2016-09-12 48 views
0

我的查询看起来像这样:通过cloumn name访问MySql数组

SELECT * FROM tblName WHERE btn_group_id = 1;

我也有语言$langs = array(5,7,19)在同一阵列中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 
     ) 
) 

我的问题是如何通过使用这个数组来echo数据btn_lang_id

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

我想上述3个阵列$btn通过语言ID访问不是由索引0,1,2。我有什么办法吗?

+0

可以存储阵列序列化或JSON格式,然后从检索数据库和反序列化或JSON解码。这样你可以存储数据并保存数组结构。 –

回答

1

您可以使用下面的代码创建了“btn_lang_id”作为一个重要的数组:

<?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); 
?>