如何在PHP中删除字符串的第一个字符?
$str=':this is a applepie :) ';
如何使用PHP,删除第一个字符:
yuli chika asked 2019-04-05T02:24:14Z
11个解决方案
492 votes
substr()功能可能会对您有所帮助:
$str = substr($str, 1);
字符串从0开始索引,此函数第二个参数采用cutstart。 所以,让那个1,第一个字符消失了。
mario answered 2019-04-05T02:25:00Z
270 votes
要从字符串的开头删除每个:,可以使用ltrim:
$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
Haim Evgi answered 2019-04-05T02:24:25Z
84 votes
使用substr:
$str = substr($str, 1); // this is a applepie :)
alexn answered 2019-04-05T02:25:28Z
63 votes
执行时间为3个答案:
通过更换外壳删除第一个字母
$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo
执行1.000.000次测试的时间:6.8543920516968秒
删除substr()的第一个字母
$str = "hello";
$str = substr($str, 1);
执行1.000.000次测试的时间:6.8543920516968秒
用ltrim()删除第一个字母
$str = "hello";
$str= ltrim ($str,'h');
执行1.000.000次测试的时间:6.8543920516968秒
用preg_replace()删除第一个字母
$str = "hello";
$str = preg_replace('/^./', '', $str);
执行1.000.000次测试的时间:6.8543920516968秒
Hayenn answered 2019-04-05T02:26:41Z
24 votes
这是代码
$str = substr($str, 1);
echo $str;
输出:
this is a applepie :)
Tarun modi answered 2019-04-05T02:27:04Z
9 votes
$str = substr($str, 1);
请参阅PHP手册示例3
echo substr('abcdef', 1); // bcdef
注意:
unset($str[0])
将无法工作,因为你不能取消字符串的一部分: -
Fatal error: Cannot unset string offsets
Gammerz answered 2019-04-05T02:27:44Z
9 votes
更新
经过进一步测试后,我不建议再使用它了。 当在MySQL查询中使用更新的字符串时,它给我带来了问题,并且更改为substr修复了问题。 我想删除这个答案,但评论表明它更快,所以有人可能会使用它。 您可能会发现修剪更新的字符串可以解决字符串长度问题。
有时你不需要一个功能:
$str[0] = '';
例如:
$str = 'AHello';
$str[0] = '';
echo $str; // 'Hello'
此方法修改现有字符串而不是创建另一个字符串。
rybo111 answered 2019-04-05T02:28:33Z
6 votes
接受的答案是:
$str = ltrim($str, ':');
但是当开始时有多个:时会删除多个:。
$str = substr($str, 1);
将从头开始删除任何字符。
然而,
if ($str[0] === ':')
$str = substr($str, 1);
工作得很好。
Dan Bray answered 2019-04-05T02:29:27Z
2 votes
修剪数组中每个单词的出现,从字符串+空格的开头和结尾开始,并根据正常trim()选择额外的单个字符
function trim_words($what, $words, $char_list = '') {
if(!is_array($words)) return false;
$char_list .= " \t\n\r\0\x0B"; // default trim chars
$pattern = "(".implode("|", array_map('preg_quote', $words)).")\b";
$str = trim(preg_replace('~'.$pattern.'$~i', '', preg_replace('~^'.$pattern.'~i', '', trim($what, $char_list))), $char_list);
return $str;
}
// for example:
$trim_list = array('AND', 'OR');
$what = ' OR x = 1 AND b = 2 AND ';
print_r(trim_words($what, $trim_list)); // => "x = 1 AND b = 2"
$what = ' ORDER BY x DESC, b ASC, ';
print_r(trim_words($what, $trim_list, ',')); // => "ORDER BY x DESC, b ASC"
?>
Ben answered 2019-04-05T02:29:54Z
1 votes
该代码适合我。
$str = substr($str ,-(strlen($str)-1));
也许,也有答案。
Claudionor Oliveira answered 2019-04-05T02:30:28Z
1 votes
你可以使用substr()函数
$amount = 1; //where $amount the the amount of string you want to delete starting from index 0
$str = substr($str, $amount);
Adeojo Emmanuel IMM answered 2019-04-05T02:30:54Z