🔖

【PHP】evalを使うサンプル

2021/03/15に公開

サンプル

こんな感じで、足し算などの算術演算子を使うケースでif文を使わずに書けるのが良い。

<?php
while($input_line = rtrim(fgets(STDIN))){
    list($a, $op, $b) = explode(" ", $input_line); //2 + 4
    if (!in_array($op, ["+","-","/","*"])){
        return ;
    }
echo eval("echo ($a $op $b);").PHP_EOL;  // 6
}

evalを使うときの注意点。

警告
eval() は非常に危険な言語構造です。 というのも、任意の PHP コードを実行できてしまうからです。 これを使うことはおすすめしません。 いろいろ検討した結果どうしても使わざるを得なくなった場合は、細心の注意を払って使いましょう。 ユーザーから受け取ったデータをそのまま渡してはいけません。 渡す前に、適切な検証が必要です。
https://www.php.net/manual/ja/function.eval.php

Discussion