我已经编写了这段代码来接受文本框中的刺痛,并希望用" ***"替换任何坏词。但是我不知道为什么我会得到一个额外的" 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;
答案 0 :(得分:1)
print_r()以人类可读的方式显示有关变量的信息。
如果给定字符串,整数或浮点数,则将打印值本身。如果给定一个数组,则值将以显示键和元素的格式显示。类似的符号用于对象。
当return参数为TRUE时,此函数将返回一个字符串。否则,返回值为TRUE。
您需要使用echo print_r($string1, true);
或仅print_r($string1);