不打印来自 ECHO PHP 的最后一个值
Not printing the last value from ECHO PHP
问题是我需要按以下方式打印来自 fgets(STDIN) 的值:
INPUT - STRING
OUTPUT ++++++++
+STRING+
++++++++
不幸的是我卡住了,请检查我的代码:
<?php
echo "start!!\n";
$input_line = fgets(STDIN);
$input_nobreaks = str_replace("\n","",$input_line);
$length = strlen($input_nobreaks);
$x="+";
for ($i = 0; $i < ($length + 1); $i++) {
echo $x;
}
echo "\n";
echo $x,$input_nobreaks,$x;
echo "\n";
for ($i = 0; $i < ($length + 1); $i++) {
echo $x;
}
//echo "\n".$input_nobreaks;
echo "\nend!!";
?>
感谢您分享您的智慧。
您可以使用 str_repeat($x, $length + 2)
。 2 因为前面有一个+
,后面有一个+
。
$input_line = "Hello\nworld!";
$input_nobreaks = str_replace(["\n", "\r"], '', $input_line);
$length = strlen($input_nobreaks);
$x = '+';
echo str_repeat($x, $length + 2) . "\n";
echo $x . $input_nobreaks . $x . "\n";
echo str_repeat($x, $length + 2) . "\n";
输出:
+++++++++++++
+Helloworld!+
+++++++++++++
注意:如果是多字节字符串,您可以使用 mb_strlen()
而不是 strlen()
。
问题是我需要按以下方式打印来自 fgets(STDIN) 的值:
INPUT - STRING
OUTPUT ++++++++
+STRING+
++++++++
不幸的是我卡住了,请检查我的代码:
<?php
echo "start!!\n";
$input_line = fgets(STDIN);
$input_nobreaks = str_replace("\n","",$input_line);
$length = strlen($input_nobreaks);
$x="+";
for ($i = 0; $i < ($length + 1); $i++) {
echo $x;
}
echo "\n";
echo $x,$input_nobreaks,$x;
echo "\n";
for ($i = 0; $i < ($length + 1); $i++) {
echo $x;
}
//echo "\n".$input_nobreaks;
echo "\nend!!";
?>
感谢您分享您的智慧。
您可以使用 str_repeat($x, $length + 2)
。 2 因为前面有一个+
,后面有一个+
。
$input_line = "Hello\nworld!";
$input_nobreaks = str_replace(["\n", "\r"], '', $input_line);
$length = strlen($input_nobreaks);
$x = '+';
echo str_repeat($x, $length + 2) . "\n";
echo $x . $input_nobreaks . $x . "\n";
echo str_repeat($x, $length + 2) . "\n";
输出:
+++++++++++++ +Helloworld!+ +++++++++++++
注意:如果是多字节字符串,您可以使用 mb_strlen()
而不是 strlen()
。