从第一行的多数组中选择一个特定值

时间:2013-10-31 09:28:09

标签: php multidimensional-array

我从一个表中拉出3个colummns并将它们存储在一个数组中,以填充下拉菜单。 ref_code用于决定它将进入哪个下拉列表('Module','Customer','Application'),而id是选择值,ref_desc是显示文本。

foreach ($test as $t) {
    $aa[] = array($t->ref_code => array('id'=>$t->id, 'ref_desc'=>$t->ref_desc));
};

我一直在尝试使用$ aa ['ref_code']检索它们但是没有取得任何成功。请帮助。

This question is similar,但我无法检索到我想要的值。

我在另一个论坛上找到了解决方案,但我稍后会尝试解决您的解决方案。非常感谢你!

foreach ($aa as $a => $d) {
    foreach ($d as $ref_code => $dd) {
        echo "<p>". $ref_code ."</p>";
        echo "<p>". $dd['ref_desc'] ."</p>";
        echo "<p>". $dd['id'] ."</p>";
    };
};

2 个答案:

答案 0 :(得分:0)

你为什么不这样写? ref_code(如果它是唯一的)是数组的键。

foreach ($test as $t) {
        $aa[$t->ref_code] = array('id'=>$t->id, 'ref_desc'=>$t->ref_desc);
    };

答案 1 :(得分:0)

你需要一个三维数组:

dropdown =&gt; ids =&gt; displaytext

我们走了:

// fill in:
$aa = array();
foreach ($test as $t) {

    if ( !isset($aa[$t->ref_code]) )
        $aa[$t->ref_code] = array();

    $aa[$t->ref_code][$t->id] = $t->ref_desc;

};


// have a drop down:
$myDropDown = 'Customer';
foreach ( $aa[$myDropDown]  as $id => $displaytext )
{
      echo "<option value=\"" . $id . "\">" . $displaytext . "</option>";
}
 .... etc.
相关问题