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

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

新規登録して質問してみよう
ただいま回答率
85.48%
多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

1731閲覧

【WordPress】SQLを使ってwp_optionsテーブルの連想配列を出力したい

shimon11

総合スコア49

多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2021/01/14 03:52

編集2021/01/14 05:52

前提・実現したいこと

【WordPress】SQLを使ってwp_optionsテーブルの連想配列を出力したい

WordPressでWebサイトを作っています
マルチサイト機能を使っており、異なるサイトからデータを取得したいためSQLを実行しています

(自身のデータベースから出力する際はget_optionなどが使えますが異なるデータベースのためSQLを実行しています)

$wpdbを使ってSQLを実行しブラウザに表示させたいのですがLONGTEXT型の表示が出来ずに困っています

該当のソースコード

以下のようなコードを打つと

PHP

1$sql = "SELECT option_value FROM wp_options WHERE option_name = 'school_lists'" ; 2$results = $wpdb->get_results($sql); 3 4foreach ( $results as $result ) { 5 echo('<pre>'); 6 var_dump($result); 7 echo('</pre>'); 8}

このようなデータが帰ってきます

HTML

1array(1) { 2 [0]=> 3 object(stdClass)#4324 (1) { 4 ["option_value"]=> 5 string(757) " 6 a:4:{ 7 i:0;a:4:{s:6:"region";s:12:"東京";s:7:"address";s:18:"東京都〇〇";s:4:"slug";s:24:"shibuya";} 8 i:1;a:4:{s:6:"region";s:7:" 大阪";s:7:"address";s:80:"大阪〇〇";s:4:"slug";s:29:"osaka";} 9 i:2;a:4:{s:6:"region";s:6:"北海道";s:7:"address";s:83:"北海道〇〇";s:4:"slug";s:29:"hokkaido";} 10 }" 11 } 12}

これを
echo $result['region']のような形にして東京が帰ってくるような形にしたいです

お心優しい方アドバイスを頂ければ幸いです。

補足情報(FW/ツールのバージョンなど)

WordPressのwp_optionsテーブルって結構便利

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

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

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

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

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

guest

回答1

0

ベストアンサー

WordPress の シリアライズ(シリアル化)されたデータを復元したいということでしょうか?

WordPress では、シリアライズは、
maybe_serializemaybe_unserialize で処理されています。

参考:

投稿2021/01/14 05:04

編集2021/01/14 05:07
CHERRY

総合スコア25171

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

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

shimon11

2021/01/14 05:56

ありがとうございます! そうです シリアライズを復元したいです 大変恐縮なのですが var_dump($results); すると以下のような形で表示される場合はどのようにすればよろしいでしょうか? ``` array(1) { [0]=> object(stdClass)#4324 (1) { ["option_value"]=> string(757) " a:4:{ i:0;a:4:{s:6:"region";s:12:"東京";s:7:"address";s:18:"東京都〇〇";s:4:"slug";s:24:"shibuya";} i:1;a:4:{s:6:"region";s:7:" 大阪";s:7:"address";s:80:"大阪〇〇";s:4:"slug";s:29:"osaka";} i:2;a:4:{s:6:"region";s:6:"北海道";s:7:"address";s:83:"北海道〇〇";s:4:"slug";s:29:"hokkaido";} }" } } ```
CHERRY

2021/01/14 06:37 編集

質問に書かれている foreach ループの中であれば、 echo $result->option_value で ` a:4:{ 〜〜 } ` が表示されませんか? foreach ループの外であれば、  ` echo $results[0]->option_value ` とか
shimon11

2021/01/15 01:25

ありがとうございます! echo $result->option_valueで出来ました マルチサイトの他のoptionsをget_network_optionで出力しようとしたのですが自分で設定したものはうまく表示できなかったです get_network_option(1, 'siteurl' ); siteurlなどであれば出力することが出来ました WordPressのバグですかね。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問