回答編集履歴
1
追記: 例外の処理
test
CHANGED
@@ -2,3 +2,9 @@
|
|
2
2
|
|
3
3
|
本格的な構文解析をしてもいいのですが、整数の四則演算のみ (括弧は使わない) という条件だとするなら、正規表現によるチェック (数字と演算記号だけを含むかどうか) で用は足りるでしょう。
|
4
4
|
|
5
|
+
(追記)
|
6
|
+
|
7
|
+
PHP7以降では、evalは構文エラーとなる引数を与えると`ParseError`例外を投げるので、捕捉してやる必要があります。なお、手元で確認したかぎり、引数に与えたコードを実行中に`ArithmeticError` (ゼロ除算など) が発生しても例外を投げることはなく、`NULL`を返すようです (確認バージョン: PHP 7.0.8)。
|
8
|
+
|
9
|
+
PHP5では、上のような場合はいずれも`FALSE`を返します。
|
10
|
+
|