所以我不知道为什么我不能得到字符串的中间字母。这是代码
$length = strlen($upper);
if($length % 2 == 0){
$middle = $length/2;
$gitna = substr($upper,$middle-1,$middle);
}else{
$middle = ($length-1)/2;
$gitna = substr($upper,$middle-1,$middle);
}
代码的结果是
$upper = ACESHARDEWARE
$length = 13
$middle = 6
$gitna = ARDEWA
我不知道为什么$ gitna会导致ARDEWA。我需要得到字符串的中间字母,我希望得到$ gitna =" R"但为什么它给我6个字母。有什么帮助吗?
答案 0 :(得分:1)
您的子字符串长度应为1:
$length = strlen($upper);
if ($length % 2 == 0) {
$middle = $length/2;
$gitna = substr($upper, $middle, 1);
} else {
$middle = ($length-1)/2;
$gitna = substr($upper, $middle, 1);
}
substr
函数的第三个参数是长度,因此如果您只想要一个字符,则需要1
(Github syncing)。