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

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

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

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

Q&A

5回答

14697閲覧

PHPで連続した変数名をfor文でつかいたい

ryuuichi2014

総合スコア115

PHP

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

0グッド

0クリップ

投稿2016/03/11 06:22

例えばある事情でこういう変数があったとします

$test1abc
$test2abc
$test3abc
$test4abc
$test5abc

これを表示させたいとき、

echo $test1abc;
echo $test2abc;
echo $test3abc;
echo $test4abc;
echo $test5abc;

こうするしかないでしょうか?

以下で、

for ($i = 1; $i < 6; $i++) {
処理
}

なんとかする方法はありますか?

最初から配列つかえよ、という声が聞こえてきそうですが、ある事情(突然いなくなった上司)でこういう変数が100個あるんですよね、、、

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

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

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

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

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

guest

回答5

0

PHP

1for ($i = 1; $i < 6; $i++) { 2 echo ${'test'.$i.'abc'}; 3}

こんなんどうですか?

投稿2016/03/11 06:35

shi_ue

総合スコア4437

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

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

0

配列のことについて最後に書かれていたのを見落としていたので一回回答消しました,すみません.

この機能を使うのが王道です.

php

1for ($i = 1; $i < 6; ++$i) { 2 echo ${"test{$i}abc"}; 3}

その他,以下のような選択肢もあります.evalはやめておいたほうがいいですが,compactget_defined_varsは普通に現役です.

投稿2016/03/11 06:45

編集2016/03/11 06:49
mpyw

総合スコア5223

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

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

0

こうも書けますよ。

PHP

1for($i=1;$i<=5;$i++) { 2 $name = 'test'.$i.'abc'; 3 echo $$name; 4}

投稿2016/03/11 06:33

dupont_kedama

総合スコア925

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

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

0

一応 eval はありますけども。

php

1for ($i = 1; $i < 6; $i++) { 2 eval("echo \$test".$i."abc;"); 3}

あとは compact を使うとか。

php

1$a = array(); 2for ($i = 1; $i < 4; $i++) { 3 array_push($a, "test".$i."abc"); 4} 5$obj = compact($a);

ただ私も最近の PHP は知らないので、これらの危険で古くさい関数が今でも使えるのかどうかはわかりません。

投稿2016/03/11 06:31

編集2016/03/11 06:38
unau

総合スコア2468

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

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

0

変数名を文字列指定できます。

PHP

1echo ${"変数名"};

追記:
可読性が一番大事なので、コーディングのポリシーに合った回答を採用した方がいいです。

投稿2016/03/11 06:35

編集2016/03/11 06:58
m.kosuda

総合スコア153

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問