PHP: как объединить NULL в строку - PullRequest
0 голосов
/ 25 октября 2011

вдруг мой сайт показывает новое предупреждение -

Соответствующий код:

printf ("<input type='text' name='C_Comment' value='" . $myComment . "'  >");

Предупреждение, которое я получаю:

  • Предупреждение: printf () function.printf: слишком мало аргументов

возможно, потому что $ myComment имеет значение null.

  1. Я знаю, что могу это исправить, если сначала проверим, является ли значение нулевым, и только потом скреплю его. но есть ли более простой способ?

  2. Почему я не получил это предупреждение раньше?

Спасибо

Атар

РЕДАКТИРОВАТЬ: извините, неправильный заголовок. Проблема была в том, что $ myComment не был равен NULL, он содержал специальный символ.

Ответы [ 4 ]

6 голосов
/ 25 октября 2011

Нет, вы получаете это предупреждение, потому что не даете достаточно аргументов для printf; вероятно $myComment содержит заполнители printf, такие как %s.

Вместо этого используйте echo, если вы не хотите использовать форматирование printf. Вы также можете переписать свой printf звонок:

printf ("<input type='text' name='C_Comment' value='%s'>",
    $myComment);

Убедитесь, что вы избежали специальных символов в $myComment (см. htmlspecialchars).

4 голосов
/ 25 октября 2011

Вместо использования printf просто используйте echo:

echo "<input type='text' name='C_Comment' value='" . $myComment . "'  >";
1 голос
/ 25 октября 2011

printf - это функция, используемая для форматирования строки с заданными значениями.Вы предоставили только один аргумент функции, поэтому она вызывает эту ошибку.

Если вы просто хотите напечатать текст на странице, используйте echo (или просто удалите f и используйте print)с текущей строкой.Или вы можете сделать это:

printf("<input type='text' name='C_Comment' value='%s' />", $my_comment);

Вот страница PHP.net Docs для printf () , и вы также можете просмотреть связанные функции в разделе См. Также.

0 голосов
/ 25 октября 2011

Добавьте это перед вызовом prinf, если у вас есть значение по умолчанию (которое не является пустым):

$myComment = ($myComment == null) ? 'yourdefaultvalue' : $myComment;

Конечно, эхо тоже подойдет (и пустое значение больше не проблема):

<input type="text" name="C_Comment" value="<?=myComment?>" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...