質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

4293閲覧

$wpdbにより配列を出力した場合のオブジェクト

pegy

総合スコア243

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/07/30 06:10

いつもお世話になております。
下記のように自身で用意したテーブルからprepareで出力した場合、下記のようなobject(stdClass)の配列が返されてしまい、通常のような配列の操作をすることができません。googleで調べところ、objectをArrayにcastしなければならないということみたいなのですが、いろいろな方法を試してもこれを単純な多次元の連想配列に変換することができません。
まだまだ、不慣れで申し訳ございませんが、どなたか解決法をご教示いただきたく存じます。よろしくお願い申し上げます。

$SQL1 = $wpdb->get_results( $wpdb->prepare("SELECT*FROM $wpdb->abcde")); var_dump($SQL1);

array(29) { [0]=> object(stdClass)#2101 (21) { ["id"]=> string(1) "1" ["year"]=> string(4) "2001" ["period"]=> string(15) "2001年12月期" ["op_sales"]=> string(5) "12561" ["op_profit"]=> string(4) "6166" ["ordinary_profit"]=> string(4) "5342" ["net_profit"]=> string(4) "5340" ["divi_profit"]=> string(5) "19026" ["divi_profit_total"]=> string(4) "5340" ["divi_extra"]=> string(1) "0" ["divi_extra_total"]=> string(1) "0" ["divi_total"]=> string(4) "5340" ["total_asset"]=> string(6) "256847" ["net_asset"]=> string(6) "154239" ["liability"]=> string(6) "102608" ["int_liability"]=> string(5) "78900" ["rent_income"]=> string(5) "12561" ["op_expense"]=> string(4) "6166" ["rent_expense"]=> string(4) "5737" ["dep"]=> string(4) "2169" ["NOI"]=> string(4) "8993" } [1]=> object(stdClass)#2102 (21) { ["id"]=> string(1) "2" ["year"]=> string(4) "2002" ["period"]=> string(14) "2002年6月期" ["op_sales"]=> string(5) "11259" ["op_profit"]=> string(4) "5007" ["ordinary_profit"]=> string(4) "4493" ["net_profit"]=> string(4)。。。以下省略

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

$wpdb->get_results の第二引数にデフォルトで OBJECT が指定されているからです。

【wpdb::get_results() | Method | WordPress Developer Resources】
https://developer.wordpress.org/reference/classes/wpdb/get_results/

$output
(string) (Optional) Any of ARRAY_A | ARRAY_N | OBJECT | OBJECT_K constants.

PHP

1$SQL1 = $wpdb->get_results( $wpdb->prepare( "SELECT*FROM $wpdb->abcde" ), ARRAY_A ); 2var_dump($SQL);

投稿2016/07/30 06:41

編集2016/07/30 06:47
kei344

総合スコア69400

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

いろいろな方法を試しても

ここが大事で、何を試したのか書いて欲しいところですが。
こういった場合、一度JSONにencodeして、そのままdecodeすると取れる事が多いです。

php

1var_export(json_decode(json_encode($SQL1), true), true);

投稿2016/07/30 06:40

編集2016/07/30 06:41
kunai

総合スコア5405

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pegy

2016/07/30 16:45

ご提供いただいだ方法では、オグジェクトから配列に組み替えることができませんでした、ただ、そのようなアプローチがあるということが勉強になりました、JSONのエンコード、デコードを勉強いたします。よろしくお願い申し上げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問