集群查询结果由2列设置,并创建关联数组的关联数组

问题描述 投票:0回答:2

我有一个阵列

district
,其中包含36个地区,我在地区ID上找到了他们的总裁兼秘书。

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

您需要在
$results
php arrays codeigniter multidimensional-array grouping
2个回答
1
投票

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

并在一个数据库查询中获得必要的结果可能更有效。您仍然可以在结果上循环以构建所需的输出数组。


$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.
}


0
投票
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.