gpt4 book ai didi

php - 用 str_replace 只替换字符串的第一个字符?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:51:30 30 4
gpt4 key购买 nike

我试图只替换字符串的第一个字符,但它不起作用,它替换了字符串中的所有“0”,这是我的代码:

$mes2 = str_replace('0', '', $mes[0]);

我只想替换第一个字符,例如:

07 becomes 7

我不想一直替换,例如:

11 becomes 1, i don't want it.

我也尝试过这种方式,但它没有按照我想要的方式工作,因为如果它是 0,它也会替换第二个字符,就像 10 变成 1。

$mes2 = preg_replace('/0/', '', $mes, 1);

最佳答案

好的,根据对您问题的改进,您可能想要的是 ltrim

$out = ltrim($in, "0");

这将从 $in 中去除所有前导零。它不会从其他任何地方删除零,也不会删除零以外的任何内容。当心;如果你给它“000”,你会得到“”而不是“0”。

您可以改用类型转换,只要 $in 始终是一个数字(或者如果不是,您希望它的结果为 0):

$out = (int) $in;
  • 007 变成 7
  • 000 变成 0
  • 100 保持为 100
  • 456 保持 456
  • 00a 变为 0
  • 56a 变为 0
  • ab4 变为 0
  • -007 变成-7

...等等

现在,万一您只想替换第一个 0,例如“007”变成“07”,那么您在问题中提到的最新尝试就差不多了。您只需要添加一个“脱字符”字符以确保它只匹配字符串的开头:

$out = preg_replace('/^0/', '', $in);

关于php - 用 str_replace 只替换字符串的第一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33927140/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com