PHP для пока непонимающих: отличие print, echo и return

Завожу такую вот рубрику.

Не буду здесь говорить ничего лишнего (типо ааа иди гугли школоло), буду просто отвечать на странные для понимающих вопросы и вполне нормальные для осваивающих.

print, echo и return

Разберем это на примере функции, т.к return актуален при работе с функциями

Разберем вполне частую ситуацию: нам нужна функция, которая будет получать откуда-то значение, и в зависимости от того, в каком контексте мы его используем она должна его либо выводить, либо возвращать

Собственно вот оно и отличие:

echo, print — это вывод значения

returnвозвращение значение

С возвращенным значением мы можем делать что угодно: приобщить его к вычислениям, вывести, передать в другую функцию, ну с выводом думаю все понятно.

Разберем на примере

1
2
3
4
5
6
7
8
9
10
function getValue ( $value, $print = false )
{
	if ( $print === 1)
		echo $value;
	else
		return $value;
}
 
getValue('Hello world', true);  //вывод
од
echo getValue('Hello world//возврат значения

 

Итак разбираем по строкам.

Параметры функции:

$value (string) — значение, которое мы хотим обработать

$print (bool) — некий указатель того, что мы будем делать. По умолчанию равен false

Наша функция выводит либо возвращает значение, в зависимости от того, что мы передаем в параметре print.

Далее мы два раза вызываем функцию: в первом случае передаем в нее print = true, и она выводит значение, во втором случае мы сами выводим то, что возвращает нам функция.

Еще раз:

echo, print — это вывод значения

returnвозвращение значение

Комментарии:


  1. jcmax

    я если честно не понимаю зачем классы в php, а точней само ОПП. Я могу понять, если надо вывести несколько раз определенный код (например несколько переменных) и я могу понять, то что они могут бвть нужны для защиты от аттак на сам код все больше понять я не могу.

  2. Артур

    Где на вашем сайте ссылка для ответа?

    jcmax, в этом посте нет ООП. ООП — это классы, методы, объекты… А тут только функции. А функции не являются ООП

  3. Игорь

    Обнаружил, что данный пример работает только, если в условии if стоит вместо тождественности равно (==). То есть $print == 1 тогда выводится Hello World два раза.

  4. Сергей

    иииии где фидбэк?
    где обещаное автором «Не буду здесь говорить ничего лишнего (типо ааа иди гугли школоло)» ?
    или он предупредил всех что бы шли сразу гуглить и не задавали вопросы сразу?
    видимо так, да?
    вот Игорь написал что там трабла с приравниванием. И где ответ автора?
    Вот я чет всеравно не понял сути return блин буду искать дальше
    извините за батхерд

  5. Afftobus

    Наткнулся на ещё один интересный метод вывода
    Если в тексте HTML нужно тупо отобразить переменную, то будет работать

  6. Алексей

    И где ответ на вопрос, что такое return??? его спокойно можно заменить echo и ошибки не будет! Статья к сожалению ужасная! я надеялся получить ответ…




YouTube бесплатно навести проклятие порчу