函数不输出“STRING”

时间:2017-11-15 14:01:05

标签: php

<?php
function remove_char(string $s):string
    {
        settype($s, 'string');
        $pieces = str_split($s);
        unset($pieces[0]);
        $numb = count($pieces);
        unset($pieces[$numb - 1]);
        echo implode("", $pieces);
    }

    $lotsp = "lotsp";`enter code here`
    remove_char($lotsp);
?>

函数'remove_char()'应该带来'String'类型的输出。但是它输出的不是字符串。

错误:致命错误未捕获TypeError:remove_char()的返回值必须是字符串类型,在/home4/phptest/public_html/code.php70(5)中返回none:enter code here

我不知道问题出在哪里。任何帮助是极大的赞赏。感谢

1 个答案:

答案 0 :(得分:1)

您声明remove_char()应该返回string,但您没有返回任何内容。

从函数声明中删除:string

function remove_char(string $s)
{
    settype($s, 'string');
    $pieces = str_split($s);
    unset($pieces[0]);
    $numb = count($pieces);
    unset($pieces[$numb - 1]);
    echo implode("", $pieces);
}

现在你应该能够从函数中echo

请参阅有关difference between echo and return的答案。