можно это сделать с помощью eval конечно, но такой способ я не рекомендую, вот так например
<?php
$a = 5;
$b = 6;
$c = '+';
echo eval("return $a $c $b;");
Более правильно сделать интерфейс OperationInterface и для каждого действия сделать свою реализацию (например OperationPlus, OperationMinux, OperationMultiply и тд)
Ну соответсвенно сделать выбор нужную реализацию, это по сути будет паттерн стратегия
https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D...
Как еще один вариант можно просто сделать массив функций, которые будут принимать аргументом два параметра и делать операцию вот так:
<?php
$a = 5;
$b = 6;
$operation = [];
$operation['+'] = function ($a, $b) {
return $a + $b;
};
$operation['*'] = function ($a, $b) {
return $a * $b;
};
// тд на все варианты
$c = '+';
echo $operation[$c]($a, $b) . PHP_EOL;
$c = '*';
echo $operation[$c]($a, $b) . PHP_EOL;