rest echo vs return в GET

Я новичок в php и отдыхаю, и я пытаюсь понять, что происходит в моем API при использовании echo vs return ….

Я попытался перейти к самому простому сценарию, чтобы изолировать проблему моего API останова, не возвращая никакого значения, так вот:

У меня есть файл test.php на моем сервере со следующим содержимым:

 <?php if(function_exists($_GET['t1'])) { echo $_GET['t1'](); } else if(function_exists($_GET['t2'])) { return $_GET['t2'](); } function test() { return json_encode("test..."); } ?> 

Затем я делаю простой запрос, используя уникальный заголовок Content-Type: application / json`

 https://www.eswys.ch/tmp/test.php?t1=test https://www.eswys.ch/tmp/test.php?t2=test 

И результаты, соответственно,

 "test..." "" 

Я действительно пытаюсь понять это, почему мое возвращенное значение каким-то образом «потеряно» – есть ли какие-либо объяснения этому ?!