0

PHP で非常に単純なプログラムを作成しています。最初に追加してみてください..

しかし、わからない..

ここにコードがあります

<?php 
$a=12;
$b=10;
$c="+";

$res=$a."$c".$b;
echo $res;
?>

連結されているため、12 + 10を出力します。

$c はなんでもいいです。

これを行う方法についてのアイデア

4

3 に答える 3

5

$c は文字列になり、式ではなくなりました "+" は + と等しくありません。

そう:

$res=$a + $b;

構造が本当に必要な場合は、 eval() を使用するなどの悪いことをする必要があります。または、次のようにすることもできます。

$a=12;
$b=10;
$operator='+';

switch($operator) {
  case '+':
    $res=$a + $b;
    break;
  case '-':
    $res=$a - $b;
    break;
}
于 2012-06-30T09:44:26.427 に答える
2

正確に何をしたいですか?

演算子を文字列として持っている場合は、次のswitchステートメントを試すことができます。

<?php 
$a=12;
$b=10;
$c="+";

switch($c) {
  case '+': 
      $res = $a + $b;
      break;

  case '-':
      $res = $a - $b;
      break;
}
var_dump($res);
?>
于 2012-06-30T09:45:36.580 に答える
0

はい、PHP にもeval(uate)関数があります。

$res = eval($a . $c . $b);

$a、$b、および $c がフォーム入力から派生していないことを確認してください。eval は削除などを行う可能性があります。

于 2012-06-30T09:49:06.623 に答える