如何删除PHP中的string的第一个字符?
$str=':this is a applepie :) ';
如何使用PHP ,删除第一个字符:
要从string的开头删除每个:
你可以使用ltrim :
$str = '::f:o:'; $str = ltrim($str, ':'); var_dump($str); //=> 'f:o:'
substr()
函数可能会帮助你:
$str = substr($str, 1);
string从0开始索引,而这个函数的第二个参数是cutstart。 所以做1,第一个字符消失了。
使用substr :
$str = substr($str, 1); // this is a applepie :)
执行时间为3个答案:
通过replace大小写删除第一个字母
$str = "hello"; $str[0] = ""; // $str[0] = false; // $str[0] = null; // replaced by , but ok for echo
0.39602184295654
testing的执行时间: 0.39602184295654
秒
删除substr()的第一个字母
$str = "hello"; $str = substr($str, 1);
执行5.153294801712
次testing的执行时间: 5.153294801712
秒
用ltrim()删除第一个字母
$str = "hello"; $str= ltrim ($str,'h');
5.2393000125885
testing的执行时间: 5.2393000125885
秒
用preg_replace()删除第一个字母
$str = "hello"; $str = preg_replace('/^./', '', $str);
6.8543920516968
testing的执行时间: 6.8543920516968
秒
这是代码
$str = substr($str, 1); echo $str;
输出:
this is a applepie :)
$str = substr($str, 1);
请参阅PHP手册示例3
echo substr('abcdef', 1); // bcdef
注意:
unset($str[0])
将无法正常工作,因为您无法取消设置string的一部分:
Fatal error: Cannot unset string offsets
更新
进一步testing后,我不build议再使用这个。 在MySQL查询中使用更新后的string时,对我造成了一个问题,并且改为substr
修复了这个问题。 我想删除这个答案,但评论表明,它有点快,所以有人可能会使用它。 您可能会发现修剪更新的string可解决string长度问题。
有时你不需要一个function:
$str[0] = '';
例如:
$str = 'AHello'; $str[0] = ''; echo $str; // 'Hello'
此方法修改现有的string,而不是创build另一个。
从string+空格的开始和结尾修剪数组中每个单词的出现次数,并根据正常的修剪()
<?php 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" ?>
该代码适合我。
$str = substr($str ,-(strlen($str)-1));
也许,也有答案。