Answers:
要从:
字符串开头删除所有内容,可以使用ltrim:
$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
:::::
。有时,这不是理想的行为。
ltrim('prefixprefix_postfix', 'prefix')
结果'_postfix';
false
返回版本7之前的版本。因此,如果这不是您想要的行为,则需要检查它们是否相等。
使用substr:
$str = substr($str, 1); // this is a applepie :)
执行这三个答案的时间:
通过替换大小写删除第一个字母
$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo
1.000.000测试的执行时间:0.39602184295654
秒
用substr()删除第一个字母
$str = "hello";
$str = substr($str, 1);
1.000.000测试的执行时间:5.153294801712
秒
用ltrim()删除第一个字母
$str = "hello";
$str= ltrim ($str,'h');
1.000.000测试的执行时间:5.2393000125885
秒
用preg_replace()删除第一个字母
$str = "hello";
$str = preg_replace('/^./', '', $str);
1.000.000测试的执行时间:6.8543920516968
秒
$str[0] = '';
解决方案,但没有成功。很好,但是如果您打算使用变量进行比较>
,<
则该方法还是行不通的。例如,它仍将``视为+` $str = 'hello'; $str[0] = ''; var_dump($str); // string(5) 'ello'
var_dump($keyword)
显示前一个字符长度..然后尝试修剪关键字,然后效果很好var_dump(trim($keyword))
..希望这对某人有所帮助.. :)
经过进一步测试后,我不建议再使用此功能。在MySQL查询中使用更新的字符串并进行更改以substr
解决问题时,这对我造成了问题。我曾考虑删除此答案,但评论表明它以某种方式更快,因此有人可能会用到它。您可能会发现修剪更新的字符串可以解决字符串长度问题。
有时您不需要功能:
$str[0] = '';
例如:
$str = 'AHello';
$str[0] = '';
echo $str; // 'Hello'
此方法修改现有字符串,而不是创建另一个。
您可以使用sbstr()函数
$amount = 1; //where $amount the the amount of string you want to delete starting from index 0
$str = substr($str, $amount);
从字符串+空格的开头和结尾开始修剪数组中每个单词的出现,并根据正常trim()可选地多余的单个字符
<?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));
也许也可以提供答案。