<?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
我不知道问题出在哪里。任何帮助是极大的赞赏。感谢
答案 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
的答案。