【问题标题】:Create multidimensional array from database query in Codeigniter在 Codeigniter 中从数据库查询创建多维数组
【发布时间】:2014-01-20 11:31:23
【问题描述】:

我是 PHP Codeigniter 的新手。我有一个数据库内部连接查询,我正在获取类别 ID、类别名称、子类别 ID 和子类别名称,如下所示。

例如

我正在想办法创建包含类别 ID、名称和子类别详细信息的多维数组。

例如

Array[0]=>Array ( [category_id] => 1 [category_name] => Computer [sub] => 
          Array ([0]=> [subcategory_id] => 1 [subcategory_name] => C Programming ) 
                 [1]=> [subcategory_id] => 2 [subcategory_name] => Website Development) 
                 [2]=> [subcategory_id] => 4 [subcategory_name] => Java)) 

Array[1]=>Array ( [category_id] => 2 [category_name] => Robotics [sub] => 
          Array ( [subcategory_id] => 3 [subcategory_name] => Robo Wars))

谢谢

【问题讨论】:

  • 您可以发布查询吗?

标签: php mysql arrays codeigniter multidimensional-array


【解决方案1】:

假设以下是来自 db 的结果数组

$queryResult = array(
  array('category_id'=>1,'category_name'=>'Computer','subcategory_id'=>1,'subcategory_name'=>'C Programming','category_id'=>'1'),
  array('category_id'=>1,'category_name'=>'Computer','subcategory_id'=>2,'subcategory_name'=>'Website Development','category_id'=>'1'),
  array('category_id'=>1,'category_name'=>'Computer','subcategory_id'=>4,'subcategory_name'=>'Java','category_id'=>'1'),
  array('category_id'=>2,'category_name'=>'Robotics','subcategory_id'=>3,'subcategory_name'=>'Robo Wars','category_id'=>'2'),
);

那你可以试试

$result = array();
foreach($queryResult as $arr){
  $result[$arr['category_id']]['category_id']= $arr['category_id'];
  $result[$arr['category_id']]['category_name'] = $arr['category_name'];
  $result[$arr['category_id']]['sub'][]= array('subcategory_id'=>$arr['subcategory_id'],'subcategory_name'=>$arr['subcategory_name']);
}

希望对你有帮助

【讨论】:

  • 非常感谢。我试图从过去两天解决这个问题。你救了我。
【解决方案2】:

您没有发布您的查询,但我假设它看起来像这样;

$sql = 'SELECT whatever FROM my_table WHERE category = ?';

$data = array(
    $category
);

$query = $this->db
    ->query( $sql, $data )
    ->result_array();

->result_array() 函数添加到您的查询将返回一个关联数组而不是一个对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    相关资源
    最近更新 更多