我写了一个程序,你必须在其中创建一个函数。该函数将需要3个参数$ string,$ start,$ end。在函数内部,您必须在函数内部编写逻辑,以根据$ start和$ end的值自动打印字符串。
我试过这个整个函数工作正常但是数组长度是55但是当我指定$ end = 55然后它返回错误Ending Value Exceeded String length:
function string_function($string,$start,$end){
$length= strlen($string);
if($start<0 || $end<0){
echo "Start or end of string cannot be in negative";
}else if($start>$length || $end>$length){
echo "Entered values exceed more than String's Length";
}else if($start>$end){
echo "Start point is greater than end point, Which is Invalid";
}else if($end<$length){
$length <= ($end+1);
for($i=$start; $i<=$end; $i++){
echo "[$i] => ".$string[$i]."<br>";
}
}else{
echo "Ending Value Exceeded String length";
}
}
$start = 22;
$end =54;
$string = "I am a programmer and i am passionate about programming";
string_function($string, $start, $end);
欢迎提供帮助。
答案 0 :(得分:0)
如果部分改为你的其他人:
else if($end<=$length){
$length <= ($end+1);
for($i=$start; $i<$end; $i++){
echo "[$i] => ".$string[$i]."<br>";
}
}
由于您的数组从第0个索引开始,因此您指定的结尾是数组的长度。但是最大数组索引比总长度小1。因此,您的迭代应该比end
变量
[正如评论中所述]
答案 1 :(得分:0)
你只需要改变'&lt;'比较$ end和$ lenght时的'&lt; ='。