0

私は文字列を持っています:

'$a["m"]*$a["m"]'

そして、$a["m"] がその値 (たとえば 5) に変わり、私のプログラムが操作を実行するようにしたい (したがって、5*5 なので 25 になります)。

編集:

私は知っています、私はこれを次のように行うことができます:

$a["m"].'*'.$a["m"]

しかし、私したくない;)私はできません。それはいつか文字列になり、それを計算する予定です(すべての変数に値がある場合)。

「数式電卓」みたいなものを作っています。数式を文字列で記述し、プログラムが機能し、必要なデータがすべて設定されたら、この文字列を計算できます。これらの数式はすべてデータベースにあるため、これを文字列として取得します。

申し訳ありませんが、何が問題なのか正確にはわかりませんでした。

4

3 に答える 3

3

それが何をするかpow()です:

$a['m'] = pow($a['m'], 2);

値が文字通り文字列として保存されている場合は、次のものが必要ですeval()

$a["m"] = '5';
$str = '$a["m"]*$a["m"]';
$var = eval("\$result = $str;");
echo $result;

出力:

25

また、PHP の作成者である Rasmus Lerdorf の言葉を引用すると、次のようになります。

eval() が答えである場合、ほぼ間違いなく間違った質問をしています。

使い方としては、WolframAlpha などの API を使ったほうがいいと思います。

ここから始めましょう: http://products.wolframalpha.com/api/libraries.html

于 2013-09-22T13:04:12.807 に答える
1

連結を調べる必要があります。次の例は、探していることを実行するはずです。

$Var = $a["m"].'*'.$a["m"];
于 2013-09-22T13:04:20.650 に答える
0

最初にダブルクォート"、次にシングル'

$a =$a['m'].' * ' . $a['m'];

あなたの更新された質問に従って:

合計を文字列で表示したいとします。

echo "The product of two numbers is:" .$a['m']. '*' .$a['m'] ";
于 2013-09-22T13:04:34.157 に答える