Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不从ECHO PHP打印最后一个值_Php_Echo - Fatal编程技术网

不从ECHO PHP打印最后一个值

不从ECHO PHP打印最后一个值,php,echo,Php,Echo,问题是我需要按以下方式打印来自fgets(STDIN)的值: INPUT - STRING OUTPUT ++++++++ +STRING+ ++++++++ 不幸的是我卡住了,请检查我的代码: <?php echo "start!!\n"; $input_line = fgets(STDIN); $input_nobreaks = str_replace("\n",""

问题是我需要按以下方式打印来自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\u 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\u strlen()
而不是
strlen()

您应该使用$i,您可以使用
str\u repeat($x,$length+2)
。2因为前面有一个“+”,后面有一个“+”。
++++++++++++++++++
这是我现在的结果,我希望我在输入
ooo
时能有+ooo+,非常感谢,但我仍然有同样的问题。我已经用loop交换了行,但是仍然缺少last+`psc:\Users\jakub\www>php test.php start!!000+000+000+end`请看。您是否也尝试过替换
\r
<代码>str_replace([“\n”、“\r”]、“,$input_line)-就像这样。谢谢您,先生,但它在我的终端中不起作用,我不知道为什么,这很奇怪。非常感谢您抽出时间。也许这与FGET有关;(我已经使用PowerShell和Unix终端进行了测试。它工作正常。可能是
trim()