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

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

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

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

PHP

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

Q&A

解決済

1回答

814閲覧

PHPで変数の値に式を書き込む方法

Yariii

総合スコア61

WordPress

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

PHP

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

0グッド

0クリップ

投稿2020/07/15 09:59

編集2020/07/15 11:02

こんにちは。
変数の値の中にforeach文を直接書き込むことができず、方法が分からず質問しました。

前提としてこれは商品ページで、CMSからの商品登録の際に、チェックボックスでカテゴライズします。
それを$usersの配列の中身に入れる仕様です。なので$usersの中身をループさせたいといった感じです。

以下、出力したいHTMLです。

php

1<table class="table"> 2 <tr> 3 <th>ユーザータイプ</th> 4 <td>チェックボックスA、チェックボックスC、チェックボックスD</td> 5 </tr> 6 </table>

ただその商品情報を出力する箇所が以下の関数で作られていて
その中でforeachを使って実現しよかと思ったのですが

php

1function add_single_acf(){ 2 3//配列 4$users = get_field('user'); 5//変数(この中でループさせたい) 6 $acf_table = ' 7 <table class="table"> 8 <tr> 9 <th>ユーザータイプ</th> 10 <td>'.foreach($users as $user){ 11 echo $user; 12 }.'</td> 13 </tr> 14 </table>'; 15//出力 16 echo $acf_table; 17 18}

このように書き、エラーが出ました。
なので

function users_child(){ foreach($users as $user){ echo $user; } }

という関数を作って変数内に配置できないかと考えたのですが、調べても配置方法まで辿り着けず、、
初歩的質問ですみませんが、ご教授いただけたら幸いです。。よろしくお願いいたします。

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

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

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

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

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

m.ts10806

2020/07/15 10:05

foreachのなかでreturnさせる意図は何でしょうか
Yariii

2020/07/15 10:07

すみません、ミスです、echoですね。修正させていただきます。
m.ts10806

2020/07/15 10:08

でしたら、users_child()をechoで定義しておいて呼び出せば済む話では? 前提や背景、なにを目指しているのか不明です。
Yariii

2020/07/15 10:23

前提としてこれは商品ページなのですが、 $usersという配列の中身が、商品登録の際にするカテゴライズ、つまりチェックボックスの値で動的に変わります。なのでループさせたいといった感じです。
Yariii

2020/07/15 10:25

あ、そもそもがwordpressで組んでいて、管理画面から商品登録をしています。
退会済みユーザー

退会済みユーザー

2020/07/15 10:34

最終的に目指すHTMLのアウトプットをどうしたいのか、サンプル的にでも起こしてみて、そこにforeach()ループがどう関われば実現できるのかを設計してから取り組んでみるとよいのではないかと。$userばかり出力したところで、そこから何も生まれないから、単にデバッグ的な出力で躓いているようにしか見えなくて、求めるアウトプットをしっかり示してくれればわかりやすいかなと。
Yariii

2020/07/15 10:38

なるほど、了解しました、何度もすみませんが質問修正します。
m.ts10806

2020/07/15 10:58

「WordPress」という前提できちんと質問しないと本件解決には向かいづらいと思います。 タグも追加しておいてください。
Yariii

2020/07/15 11:01

m.ts10806さん何度もありがとうございます。。 タグ追加了解しました。
guest

回答1

0

ベストアンサー

php

1$userCell = join('、', $users) 2$table = "<table class=\"table\"> 3 <tr> 4 <th>ユーザータイプ</th> 5 <td>$userCell</td> 6 </tr> 7</table>"

関数の中に入れたいなら、こうしていかがでしょうか?

投稿2020/07/15 10:43

編集2020/07/15 11:17
YufanLou

総合スコア463

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

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

Yariii

2020/07/15 10:51

ご回答ありがとうございます! すみません、とても大事なことが抜けていたので今質問に修正を加えたのですが、該当のコードが関数で作られていて、どうしても変数として書き込まなければならずでして。。。
Yariii

2020/07/15 11:22

できました! まさに求めていた回答でした、ありがとうございます...!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問