为什么我在PHP的字符串结尾处得到1?

时间:2017-05-16 21:21:27

标签: php

我已经编写了这段代码来接受文本框中的刺痛,并希望用" ***"替换任何坏词。但是我不知道为什么我会得到一个额外的" 1"最后......你可以看一下图片中的输出。

这是我的代码



<!DOCTYPE>
<html>
  <head>
    <title> Mind Your Language </title>
  </head>
  <body>
    <form action="" method="post">
      <input type="text" name="string">
      <input type="submit" name="submit" value="Filter">
    </form>
  </body>
</html>

<?php

if(isset($_POST['submit'])) {
  
  $badWords = ['badword1', 'badword2', 'badword3', 'badword4', 'badword5'];
  $string = $_POST['string'];
  
  foreach($badWords as $badWord) {
    $string1 = str_replace($badWord, "***", $string);
  }
  echo print_r($string1);
}
?>
&#13;
&#13;
&#13;

enter image description here

1 个答案:

答案 0 :(得分:1)

print_r()以人类可读的方式显示有关变量的信息。

如果给定字符串,整数或浮点数,则将打印值本身。如果给定一个数组,则值将以显示键和元素的格式显示。类似的符号用于对象。

当return参数为TRUE时,此函数将返回一个字符串。否则,返回值为TRUE。

您需要使用echo print_r($string1, true);或仅print_r($string1);