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

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

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

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

Q&A

解決済

1回答

8249閲覧

Array to string conversionのエラーについて

tuckQ

総合スコア64

WordPress

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

0グッド

0クリップ

投稿2016/10/23 09:18

編集2016/10/23 09:18

###実現したいこと
コメント欄に表示する項目を追加したい。

###前提
下記の実装までできている。
0. コメント欄にカスタムフィールドを追加して「付加情報A」「付加情報B」などのデータを取得
0. カスタムテーブル「wp_review_meta」を作成し「付加情報A」「付加情報B」を保存

次に、「wp_review_meta」の「付加情報A」「付加情報B」をコメント欄に表示するところで、下記エラーに悩まされております。

###発生している問題・エラーメッセージ

Notice: Array to string conversion in xxx.php on line xxx

###該当のソースコード

php

1add_filter( 'get_comment_author_link', 'show_review', 10, 3 ); 2function show_review( $return, $author, $comment_ID ) { 3 global $wpdb; 4 $results = $wpdb->get_results( 'SELECT data_a FROM wp_review_meta WHERE review_id = 1', OBJECT ); 5 $data_a = $results[0]; 6 7 if ( $data_a ) { $return .= '(' . $data_a . ')'; } 8 return $return; 9}

「if ( $data_a ) { $return .= '(' . $data_a . ')'; }」の$data_a のところで発生しているエラーのよう。

###試したこと
$data_aを「var_dump()」すると下記出力が得られる。

array (size=1) 0 => array (size=1) 'data_a' => string '1' (length=1)

二次元配列というものか?と思い、下記のように書き換えるも

$data_a = $results[0][0]

今度は「Notice: Undefined offset: 0 」というエラーが発生。

この場合、どういった対処方法が考えられるでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

こうでは?

PHP

1$data_a = $results[ 0 ][ 'data_a' ];

投稿2016/10/23 11:17

kei344

総合スコア69364

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

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

tuckQ

2016/10/23 11:32

そうでした〜;;指摘いただいて納得です。成功しました!ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問