php: отзовитесь эхом “”, печать (), printf ()

Лямбда путь C# 3.0:

myObjects.RemoveAll(m => m.x >= 10);

анонимный делегат путь C# 2.0:

myObjects.RemoveAll(delegate (MyObject m) {
   return m.x >= 10;
});

И, для парней VB, лямбда путь VB 9.0:

myObjects.RemoveAll(Function(m) m.x >= 10)

, К сожалению, VB не поддерживает анонимного делегата.

28
задан syrkull 11 April 2017 в 07:16
поделиться

8 ответов

Есть два различия между echo и print в PHP:

  • print возвращает значение. Он всегда возвращает 1.

  • echo может принимать на выходе список аргументов, разделенных запятыми.

Всегда возвращать 1 не кажется особенно полезным. А список аргументов, разделенных запятыми, можно смоделировать с помощью нескольких вызовов или объединения строк. Таким образом, выбор между echo и print в значительной степени сводится к стилю. Большая часть кода PHP, который я видел, использует echo .

printf () является прямым аналогом c printf () . Если вам удобна идиома c, вы можете использовать printf () . Однако многие люди молодого поколения находят printf () ' s синтаксис специальных символов должен быть менее читабельным, чем эквивалентный код echo .

Вероятно, существуют различия в производительности между echo , print и printf , но я бы не стал слишком зацикливаться на них, поскольку в веб-приложении, управляемом базой данных (типичный домен PHP), печать строк клиенту почти наверняка не является вашим узким местом. Суть в том, что любой из трех выполнит свою работу, и один не лучше другого. Это просто вопрос стиля.

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

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

30
ответ дан 28 November 2019 в 03:30
поделиться

вы даже можете написать

$var = "hello";

echo "Some Text $var some other text";
// output:
// Some Text hello some other text

или

print("Some Text $var some other text");
// output:
// Some Text hello some other text

не имеет большого значения. Это работает только с двойными кавычками. В одинарных кавычках это не так. пример:

$var = "hello";

echo 'Some Text $var some other text'; // Note the single quotes!
// output:
// Some Text $var some other text

или

print('Some Text $var some other text'); // Note the single quotes!
// output:
// Some Text $var some other text
7
ответ дан 28 November 2019 в 03:30
поделиться

Просто попробуйте, вам понравится хорошо отформатированный объем информации:

<?php
  echo '<pre>';
  var_dump($your_var);
  echo '</pre>';
?>

Хорошо, я объясняю: установите HTML-формат "кода" и var_dump покажет значение, тип, параметры ... переменной.

2
ответ дан 28 November 2019 в 03:30
поделиться

http://us2.php.net/echo

<div><? print($var); ?></div>

Или, если у вас нет коротких тегов, вам может потребоваться

<div><?php print($var); ?></div>

, если у вас включена опция short_open_tag. может

<?=$var?>

Но некоторые находят это беспорядочным.

1
ответ дан 28 November 2019 в 03:30
поделиться

Вы также можете использовать следующий синтаксис:

    echo <<<ENDOFTEXT
        <div>
            $var
        </div>
ENDOFTEXT;

Просто убедитесь, что ENDOFTEXT не имеет отступа .

1
ответ дан 28 November 2019 в 03:30
поделиться

Вы можете сделать что-то вроде этого:

<div><?php echo $var; ?></div>

Одна из приятных особенностей PHP - то, что вы можете вставлять его в обычный HTML и с легкостью выполнять подобные действия. Я всегда использовал эхо в PHP. Не уверен, что это «правильный» способ, но он самый простой.

0
ответ дан 28 November 2019 в 03:30
поделиться

Хотя echo и print почти равны, вы можете использовать разные значения. Первое значение приведет к

<div><value of $var><div>

, а второе - к

'<div>'.<value of $var>.'<div>'

. Остальные семантически почти равны. Поскольку echo и print не являются настоящими функциями, а являются специальными языковыми конструкциями, скобки в вашем первом примере просто заключают одиночное строковое значение, а не список параметров.

См. Также https://stackoverflow.com/questions/1462581#1462636 и https://stackoverflow.com/questions/1163473#1163793 .

0
ответ дан 28 November 2019 в 03:30
поделиться

Я где-то читал, что эхо быстрее, чем отпечаток. Но это слишком маленький выигрыш в производительности.

0
ответ дан 28 November 2019 в 03:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: