2014-01-29 1 views
0

Я не уверен, если это возможно, однако, мы можем построить метод, который возвращает или эхо результата, основанный на вызов методы непосредственно или используются в назначенииPHP метод проверка, если они используются для присвоения

function foo() 
{ 
    return "bar"; 
} 

$abc = foo(); 
// $abc will have the value "bar" 

Но если Foo() вызывается непосредственно, он должен повторить «бар»

foo(); 
// should echo/print "bar" 

добавление эха до Foo() решает эту проблему, но, как это могло быть достигнуто без использования эхо. Вероятно, добавление некоторой строки кода в функцию foo()

+2

Метод сам по себе не имеет ни малейшего представления о том, как она будет использоваться в космическом масштабе (это может быть в выражении, в одном вызове, в назначении или даже в какой-то вещи, как 'Eval()') –

+0

@AlmaDo , благодаря! однако, должно быть что-то, что я могу управлять поведением метода по умолчанию, основанным на том, как он называется – Guns

+0

. Вы можете передать некоторый параметр для функции принятия решения –

ответ

1

Существует возможный способ эха внутри вашей функции. Так же, как

<?php function foo() 
{ 
    echo "bar"; 
    return "bar"; 
} 

echo $abc = foo(); 
?> 
+0

это не сработает. если мы используем '$ abc = foo();', чтобы получить значение в $ abc, это также отразится на значении. – Guns

Смежные вопросы