私は新しいです、私が間違いを犯した場合は、私に教えてください。パラメータの負の値に対してマイコードが機能していません
私は課題を持っていますが、私は解決しようと努力しましたが、パラメータの正の値に対してのみ働いていましたが、負の値には作用しませんでした。ここに私のコードです。完了するのを手伝ってください。 Desireの出力はコメントされています。
<?php
function custom_substr($str, $start,$end=999){
$str_length = strlen($str);
for($i=$start;$end>0&&$str_length>$i;$i++,$end--){
echo $str[$i];
}
}
echo custom_substr('abcdef', 1); // bcdef
echo "\n";
echo custom_substr('abcdef', 1, 3); // bcd
echo "\n";
echo custom_substr('abcdef', 0, 4); // abcd
echo "\n";
echo custom_substr('abcdef', 0, 8); // abcdef
echo "\n";
echo custom_substr('abcdef', -1, 1); // f
echo "\n";
echo custom_substr("abcdef", -1); // returns "f"
echo "\n";
echo custom_substr("abcdef", -2); // returns "ef"
echo "\n";
echo custom_substr("abcdef", -3, 1); // returns "d"
echo "\n";
echo custom_substr("abcdef", 0, -1); // returns "abcde"
echo "\n";
echo custom_substr("abcdef", 2, -1); // returns "cde"
echo "\n";
echo custom_substr("abcdef", 4, -4); // returns false
echo "\n";
echo custom_substr("abcdef", -3, -1); // returns "de"
?>
私の出力は
bcdef
bcd
abcd
abcdef
abcdef
abcdef
と欲望の出力では、あなたの助けのための
bcdef
bcd
abcd
abcdef
f
f
ef
d
abcde
cde
de
おかげです。
理由だけではなく、部分文字列を使用しませんか?あなた自身の機能を作る代わりに? – Naruto
について:http://php.net/manual/en/function.substr.php – Timothy
あなたは 'error_reporting'をオフにしましたか? –