変数の名前とその変数の値を出力できるようにしたいと思います。私のユースケースはデバッグ状況に近いものですが、実際には他の開発者やマネージャー向けの概念実証を構築しているので、入力フィルタリングなどについて話すことができます。ともかく...
出力HTMLは現在テーブルですが、それは問題ではありません。もちろん、名前を印刷してからHTMLの内容を印刷することもできますが、それは面倒で、入力ミスが発生しやすくなります。変数名を使用して呼び出すことができる関数、または引数として変数名を使用する文字列が必要であり、その関数に表示用の適切なHTMLを生成させます。これは機能していないようです。
これは機能します:
<tr><td>$variable</td><td><?php print $variable?></td></tr>
これはしません:
function rowFromVar($varname) {
$result = "<tr>";
$result .= "<td>\$$varname</td>";
$result .= "<td>" . $$varname . "</td>";
$result .= "</tr>";
return $result;
}
// now in the HTML...
<table><?php print rowFromVar("variable");?></table>
変数変数$$varname
は常に空です。変数自体を渡して操作しようとするのではなく、変数の名前を文字列として渡していることに注意してください。私はそのようにドラゴンがいることを知っています。代わりに、変数の名前を文字列として渡してから、変数変数(ええ、私は知っています)を使用して元の変数の値を返そうとしています。それもうまくいかないようです、そして私はそれがスコープの問題であるに違いありません。
私が探していることを達成するための良い方法はありますか?