[PHP-users 29913] Re: JpGraphでSetTickDensity()の引数に変数を扱うことができない

Naoya Harasawa harasawa @ gust.jp
2006年 7月 31日 (月) 18:22:23 JST


強引ですがこんなのでどうでしょうか。
$aに数値が入ります。
(※define定義はサンプルプログラムで動くかの確認のため宣言してます)

<?PHP

define('TICKD_NORMAL', 10);
define('TICKD_VERYSPARSE', 20);
define('TICKD_SPARSE', 30);
define('TICKD_DENSE', 40);

$program = <<< EOM
\$a = {$_REQUEST['x_tickd']};
EOM;

Eval($program);

print <<< EOM
<form action="{$_SERVER["PHP_SELF"]}" method="post">
<input type="submit" value="送信">
<select name="x_tickd">
<option value="TICKD_NORMAL" selected>自動</option>
<option value="TICKD_VERYSPARSE">まばら</option>
<option value="TICKD_SPARSE">少なく</option>
<option value="TICKD_DENSE">多く</option>
</select>
</form>

a = {$a}
EOM;
?>

Naoya Harasawa

naya wrote:
> Konさん,早速のご教示ありがとうございました.原因,ご指摘の通りでした.
> まったく知識にない顛末でしたので,お尋ねして本当によかったです.
> 
> さて,本番環境では,下記のHTML検索フォームからPOSTされた設定値を
> 
> <div>メモリ間隔</div>
> <select name="x_tickd">
> <option value="TICKD_NORMAL" selected>自動</option>
> <option value="TICKD_VERYSPARSE">まばら</option>
> <option value="TICKD_SPARSE">少なく</option>
> <option value="TICKD_DENSE">多く</option>
> </select>
> 
> PHP側で受けて,
> 
> $graph->SetTickDensity($_POST['y_tickd'],$_POST['x_tickd']);
> 
> という風にセットする場合,文字列としてしか受け取りようがないと思うのです
> が,これについてもうまい解決策がありますでしょうか.
> 
> 変数に何か関数を被せて明示的に定数化するとか,できるのかと調べてみました
> が,そのような関数は見当たりませんでした.
> http://php.plus-server.net/ref.strings.html



PHP-users メーリングリストの案内