Подтвердить что ты не робот

Почему print return (int) 1?

Я знаю, что echo() и print() делают то же самое. но print имеет возвращаемое значение (int) 1.

Возникает вопрос:

  • Почему он всегда возвращает (int) 1?
  • Что мы можем сделать с возвратом (int) 1?
4b9b3361

Ответ 1

print является функцией и может использоваться в выражениях, а echo - это языковая конструкция, которая может использоваться только в начале строки.

 echo print(print(print(print(123)))), print(4);

Реальный вариант использования для печати, доступный как функция, позволяет использовать его в выражениях. Например, в качестве функции отладки:

 if (($a == $b) and print("It true") and $c) {

Или даже

 return TRUE and print("right");

Ответ 2

Почему он всегда возвращает (int) 1?

Скорее всего, это означает успех, поэтому вы можете интерпретировать его как значение TRUE.

Что мы можем сделать с возвратом (int) 1?

В будущем коде вместо выполнения

$i++;

вы можете сделать

$i = $i + print("Hello World!\n");

(могут применяться незначительные побочные эффекты.)

Ответ 3

Как уже упоминалось ранее, print является псевдофункцией (возвращает значение, но не является реальной функцией), что делает его использование допустимым в выражениях. Таким образом, вы можете написать причудливый код, подобный этому, чтобы запутать сопровождающих:)

$success = doSomethingThatCanPossiblyFail();
if ($success || !(print "Failed to do that! Not going to do the follow up")){ 
  //success
  nowDoTheFollowupThing();
} 

Просто убедитесь, что сопровождающие не знают, где вы живете

Ответ 4

Это небольшая функция, которая позволяет использовать печать в условиях, например:

if ((print "angry") && (print "mammoth") || (print "will stomp you"))
{
   // always executed
}

Теперь, что это такое? Не знаю.

Ответ 5

Вы можете вернуть значение в тех случаях, когда вы действительно должны рассчитывать.

Пример:

for ( $i = 0; $i < 10; $i += print "$i<br>" );

Здесь можно комбинировать печать и подсчет.

Ответ 6

print всегда возвращает 1, если печать успешно работает. иначе он вернет 0. и в эхо мы можем показать успешную или неудачную функцию печати. ​​

echo print (1);//11

если мы будем печатать только один (1), он напечатает нам 1.

print (1);//1

один пример для лучшего понимания.


function sum($a,$b)
                    {
        echo $a+$b;
        if($a+$b == true)
                         {
            return 1;

                         }
        else{ return 0;}
                      }

//теперь мы вызываем функцию

sum(3,1);//4
echo "<br>";
echo sum(3,1);// 41
echo "<br>";
sum('abc','xyz');// 0
echo "<br>";
echo sum('abc','xyz');//00

этот код работает как функция печати