Ich bin neu, wenn ich einen Fehler gemacht habe, können Sie mir sagen oder meine Frage aktualisieren.Mein Code funktioniert nicht für negativen Wert von Parameter
Ich habe eine Aufgabe, ich versuchte schwer zu lösen, aber es funktioniert nur für positive Wert von Parameter, aber nicht für negativen Wert. Hier ist mein Code. bitte helft bei der Fertigstellung. Desire-Ausgabe ist kommentiert.
<?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"
?>
Meine Ausgabe ist
bcdef
bcd
abcd
abcdef
abcdef
abcdef
und den Wunsch Ausgang ist
bcdef
bcd
abcd
abcdef
f
f
ef
d
abcde
cde
de
Vielen Dank für Ihre Hilfe.
Warum Teilzeichenfolge gerade nicht benutzen? anstatt deine eigene Funktion zu machen? – Naruto
Wie wäre es mit: http://php.net/manual/en/functionsubstr.php – Timothy
Haben Sie die 'error_reporting' ausgeschaltet? –