我需要删除字符串的前三个字母和后三个字母。我知道可以使用substr()从特定字符开始,但如果需要同时删除第一个和最后一个字符,我不确定是否可以使用它。有什么建议吗?
我需要删除字符串的前三个字母和后三个字母。我知道可以使用substr()从特定字符开始,但如果需要同时删除第一个和最后一个字符,我不确定是否可以使用它。有什么建议吗?
length
参数)传递给substr()
函数,如下所示:$result = substr($string, 3, -3);
所以这个:
<?php
$string = "Sean Bright";
$string = substr($string, 3, -3);
echo $string;
?>
输出:
n Bri
使用
substr($var,1,-1)
这将始终获取第一个和最后一个,而无需使用strlen。
示例:
<?php
$input = ",a,b,d,e,f,";
$output = substr($input, 1, -1);
echo $output;
?>
输出:
a,b,d,e,f
如其他答案所述,您可以使用以下函数之一来实现您的目标:
取决于您需要删除的字符数量以及是否需要特定的删除。但最终substr()
完美地回答了您的问题。
也许有人想通过字符串解除引用来删除第一个/最后一个字符。忘记它吧,因为null
也是一个字符:
<?php
$string = 'Stackoverflow';
var_dump($string);
$string[0] = null;
var_dump($string);
$string[0] = null;
var_dump($string);
echo ord($string[0]) . PHP_EOL;
$string[1] = '';
var_dump($string);
echo ord($string[1]) . PHP_EOL;
?>
返回:
string(13) "Stackoverflow"
string(13) "tackoverflow"
string(13) "tackoverflow"
0
string(13) "ackoverflow"
0
对于字符串,无法使用 unset($string[0])
进行取消设置:
致命错误: 无法在 /usr/www/***.php 的第 ** 行取消设置字符串偏移量
substr($string, 3, strlen($string) - 6)
$myString='123456789';
$newString=substr($myString,3,-3);
我不懂php,但你不能用substr函数获取字符串长度,从第三个位置开始取length-6个字符吗?