PHP没有得到字符串

时间:2017-01-26 02:06:25

标签: php

所以我不知道为什么我不能得到字符串的中间字母。这是代码

$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个字母。有什么帮助吗?

1 个答案:

答案 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函数的第三个参数是长度,因此如果您只想要一个字符,则需要1Github syncing)。