/ /子配列の値を使用して多次元配列を1次元に変換 - php、mysql、配列、multidimensional-array

子配列(php、mysql、arrays、multidimensional-array)の値を使って多次元配列を1次元に変換する

次のような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 => valueの組に変換することです。

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

私はこれを1次元配列に変換することができましたが、正しいフォーマットではありませんでした。

回答:

回答№1は0

これを試して:

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

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

回答№2の場合は0

PHPが5.5以上の場合は、 array_column() 関数

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