Чтение значений массива в динамически созданном массиве - PullRequest
0 голосов
/ 18 сентября 2018

Я создал массив, как показано ниже:

$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>";
 }
}

Он отлично показывает имя, пару адресов, но я также хочу показать пару mnth, yr.Вывод должен быть таким:

9,2018: имя1, адрес1 |имя2, адрес2 |имя3, адрес3 и т. д.

8,2018: имя7, адрес 7 |и так далее

Скажите, пожалуйста, как этого добиться

1 Ответ

0 голосов
/ 18 сентября 2018

Пожалуйста, попробуйте следующий код:

foreach($res as $r=>$val)
{
 echo $r; // gives mnth,yr
 for($x=0;$x<count($val);$x++)
 {
 echo $val[$x]; //gives name,address
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...