使用子数组中的值将多维数组转换为单维数

时间:2014-09-10 22:42:13

标签: php mysql arrays multidimensional-array

我有以下PHP / MYSQL查询:

$sql = SELECT type, count(*) AS total FROM stats GROUP BY type
$this->sql = $sql;

function numObjects() {

        $stats = $this->conn->query($this->sql);
        while($stat_type = $stats->fetch_assoc()){
            $category[] = $stat_type;
        }
        return $category;
    }

这是一个简单的查询,但我无法弄清楚如何以我想要的方式检索数据,因为它返回了一个多维数组。

array(2) { 
  [0]=> array(2) { 
    ["type"]=> string(4) "page" 
    ["total"]=> string(1) "1" 
   } 
  [1]=> array(2) { 
    ["type"]=> string(8) "category" 
    ["total"]=> string(1) "1" 
   } 
}

我要做的是将每个数组的值转换为key =>价值对。像这样:

["page"]=> "1"
["category"]=> "1"

我已经能够将其转换为单维数组,但格式不正确。

2 个答案:

答案 0 :(得分:0)

对于PHP> = 5.5,我给你array_column()函数

$reformatted = array_column(
    $category,
    'total',
    'type'
);

答案 1 :(得分:0)

试试这个:

$new_array = array();
foreach ($old_array as $elem) {
    $new_array[$elem["type"]] = $elem["total"];
}

var_dump($new_array); //for print the array