2015-05-23 3 views
1

У меня есть массив district, который содержит 36 районов, и я собираю их президента & секретарь по району id.Создать многомерную матрицу в codeigniter

$districts=$this->dashboard->get_districts(); 
foreach($districts AS $district) 
     { 

      $contacts=$this->dashboard->get_contacts($district["ID"]); 

      $result=array_merge($result,$contacts); 


     } 

и загрузка зрения:

$finalArray["result"]=$result; 

     $this->load->view("admin/view_contacts.php",$finalArray); 

Желаемая массив Но я хочу массив этой формы, то есть ключи, как название района, а также к югу массивы с контактной информацией

$testarray=array(
      "Attock"=>array(
       "president"=>"gulzar", 
       "secretary"=>"musa" 
      ), 
      "Bahawalnagar"=>array(
       "president"=>"muzamil", 
       "secretary"=>"tania" 
      ) 
     ); 
+0

что вы получаете на '$ this-> приборной панели-> get_contacts'? и где взять название района? – splash58

ответ

1

Вам необходимо установить правильный ключ в массиве $results. Для этого вам нужно что-то вроде:

foreach($districts AS $district) 
{ 
    $result[$district['name']] = $this->dashboard->get_contacts($district["ID"]); 
    //     ^^^^ this is of course a guess and depends on your column name 
} 

Кроме того, при условии, что ваш метод get_contacts() делает запрос к базе данных, это может быть более эффективным, чтобы сделать JOIN и получить комбинированные необходимые результаты в одном запросе к базе данных. Вы можете по-прежнему обрабатывать результаты, чтобы построить требуемый выходной массив.

0
$districts=$this->dashboard->get_districts(); 
$returnArray = array(); 
foreach($districts AS $district) 
{ 
    $contacts=$this->dashboard->get_contacts($district["ID"]); 
    $returnArray[$district['name']]['president'] = //Insert president value here. 
    $returnArray[$district['name']]['secretary'] = //Insert secretary value here. 
} 
Смежные вопросы