@idimka39

Как с помощью SWITCH выбрать ФУНКЦИЮ?

Когда была одна функция - проблем не было, как только добавил вторую (а в планах добавить 3 и т.д.), то получился огород.
Был еще 1 вариант: вместо switch -> if-elseif, но это тоже самое...

Хотелось бы в данном примере switch () использовать всего 1 раз:

switch($_POST['function'])
{
case 'check_1':
$file = "check_1.txt";
break;
case 'check_2':
$file = "check_2.txt";
break; 
} 

...

foreach ($array as $value) 
{
	switch($_POST['function'])
	{
	case 'check_1':
	$result = check_1 ($value);
	break;
	case 'check_2':
	$result = check_2 ($value);	
	break; 
	} 

}	

function check_1 () {}
function check_2 () {}
  • Вопрос задан
  • 183 просмотра
Решения вопроса 1
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
$func = 'trim';
if (function_exists($func)) echo call_user_func($func,' Test ');


или твой пример

$_POST['function'] = 'trim';
$array = [' a', 'b '];
$allowedFunctions = ['trim'];

if (function_exists($_POST['function']) && in_array($_POST['function'], $allowedFunctions)) {
    $results = array_map($_POST['function'], $array);
    print_r($results);
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы