读取动态创建的数组中的数组值



我创建了一个数组,如下所示:

$this->db->order_by('mnth','desc');
$this->db->select("users.name,users.address,awards.*");
$this->db->from('users');
$this->db->join('awards', 'users.sno = awards.mem');
$res = $this->db->get();
$resbygroup = array();
foreach($res->result_array() as $row)
{
$resbygroup[$row['mnth'].",".$row['yr']][]=($row['name'] . ", " . $row['address']);
}
if($res->num_rows()>0)
{
return $resbygroup;
}
else
{
return false;
}

目的是显示按月份和年份分组的获奖者列表。 在我看来,当我var_dump返回的结果上时,我得到以下输出:

array(3) { ["9,2018"]=> array(5) { [0]=> string(6) "name1, addr1" [1]=> string(31) "name2, addr2" [2]=> string(30) "name3, addr3" [3]=> string(37) "name4, addr4" [4]=> string(46) "name5, addr5" } ["8,2018"]=> array(1) { [0]=> string(46) "name7, addr7" } ["6,2018"]=> array(1) { [0]=> string(24) "name8, addr8" } } 

我想获取结果并按月、年显示它们。 我尝试了以下代码:

foreach($res as $r)
{
for($x=0;$x<count($r);$x++)
{
echo"<br>";
echo $r[$x];
echo"<br>";
}
}

它完美地显示了名称,地址对,但我也想显示第mn,year对。输出应如下所示:

9,2018:名称1,地址1 | 名称2,地址2 | 名称3,地址3等

8,2018:姓名7,地址7|等等

请告诉如何实现这一点

请尝试以下代码:

foreach($res as $r=>$val)
{
echo $r; // gives mnth,yr
for($x=0;$x<count($val);$x++)
{
echo $val[$x]; //gives name,address
}
}

相关内容

  • 没有找到相关文章

最新更新