php去第一个字符,如何在PHP中删除字符串的第一个字符?

如何在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值