データを特定の形式で配列に出力しようとしていますが、必要な形式で配列を出力するために stmt->fetch 部分にこだわっています。
私が今までに持っていたコード (さまざまなオンライン ソースから集めたもの)
private function get_results()
{
$parameters = array();
$results = array();
$mysqli = new mysqli('localhost', $this->user, $this->pass, $this->db)
or die('Problem connecting to the database');
$stmt = $mysqli->prepare($this->sql) or die('Problem preparing query, check SQL');
$stmt->execute();
$meta = $stmt->result_metadata();
while ( $field = $meta->fetch_field() ) {
$parameters[] = &$row[$field->name];
}
call_user_func_array(array($stmt, 'bind_result'), $parameters);
while ( $stmt->fetch() ) {
$x = array();
foreach( $row as $key => $val ) {
$x[$key] = $val;
}
$results[] = $x;
}
$mysqli->close();
return $results;
}
以下を出力します。
配列
(
[0] => 配列
(
【トッピング】⇒きのこ
[スライス] => 3
)
[1] => 配列
(
【トッピング】⇒オリーブ
[スライス] => 1
)
[2] => 配列
(
【トッピング】⇒玉ねぎ
[スライス] => 1
)
[3] => 配列
(
【トッピング】⇒ペパロニ
[スライス] => 1
)
[4] => 配列
(
【トッピング】⇒ズッキーニ
[スライス] => 2
)
)
しかし、私は次の形式でそれをしたい:
配列
(
[トッピング] => アレイ
(
[0] => きのこ
[1] => オリーブ
[2] => 玉ねぎ
[3] => ペパロニ
[4] => ズッキーニ
)
[スライス] => 配列
(
[0] => 3
[1] => 1
[2] => 1
[3] => 1
[4] => 2
)
)
私はしばらくこれを達成しようとしてきましたが、頭を悩ませているようには見えません。どんな助けでも大歓迎です!ありがとう。