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возвращение значение

Random Posts

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

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

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

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

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

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

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

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

  7. Афтар, если ты решил выдавить объяснения для «пока непонимающих», то у тебя нифига не получилось, сплошная лажа. Если хочешь, чтоб статья была реально дельная, то представь, что ты объясняешь тему своей беззубой бабушке. Постарайся подобрать такие слова, которые поймёт даже она, в противном случае (как сейчас) твой высер тут бесполезен.

  8. Я сейчас изучаю PHP с самых азов и это мой первый язык (HTML и CSS не беру в расчет), поэтому опыта вообще нет и никогда не было. Недавно затронул эту тему и тоже искал очевидную разницу между echo и return ! Так вот — опишу различие ,которое я понял:

    У нас есть функция, где $a = 4 и $b = 4.

    function name ($a = 4, $b = 4) {
    return $a + $b; // ставим return вместо echo !!!!!!!
    } // Потом поменяйте return на echo и увидите разницу.

    $c = name( ); // Пусть $с будет равно тому, что посчитает функция- это 8.

    echo $c * 2; // А теперь САМОЕ главное!!!!!
    Мы умножаем $c (которая = нашей функции то есть 8) * на 2. и????
    ПОЛУЧАЕМ 16 !!!
    Потому что return получает ответ от функции цифру 8
    $c = name( ); и здесь return присваивает эту 8-ку переменной $c.
    теперь $c = 8.
    и мы можем умножать, делить, складывать и вычитать из $c все что захотим )))
    а echo только выводит на экран, но не позволяет потом манипулировать с переменной .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*
*