【问题标题】:PHP - str_replacePHP - str_replace
【发布时间】:2021-09-02 12:45:36
【问题描述】:

我在使用 str_replace 时遇到了一些问题,下面的这个块

|0460|001|CREDITO SIMPLES NACIONAL|

当我使用这个时:

str_replace("|0460|001|CREDITO SIMPLES NACIONAL|","a", $registroC100, $replaces);

var $replaces 增加,但文字保持不变,我做错了什么?

编辑:

我的代码是这样的

$registroC100 = str_replace("|0460|001|CREDITO SIMPLES NACIONAL|","a",$registroC100);

【问题讨论】:

  • 你是否使用str_replace的返回值来更新字符串?
  • 我建议您查看str_replace() 的文档,因为该函数会返回替换操作的结果并且不会就地执行它。您必须将其存储在一个变量中(或将其传递给另一个函数,具体取决于您的用例)以便稍后使用结果。
  • 我投票结束这个问题,因为这只是对函数的不正确使用,可以通过阅读和理解评论中发布的函数手册条目轻松完全解决。
  • 我已经在使用 return 进行更新,并在 2 个站点上尝试了相同的代码并正常工作。如果我用错了,你能说在哪里吗?
  • @GuilhermeRodrigues 这不是您在问题中的代码所显示的。请编辑并向我们展示您在问题中实际在做什么。谢谢。

标签: php replace


【解决方案1】:

从您的 php 语法来看,str_replace 结构和所需参数都可以。

str_replace("|0460|001|CREDITO SIMPLES NACIONAL|","a", $replaces);

表示搜索存储在变量$registroC100中的字符串,找到值“|0460|001|CREDITO SIMPLES NACIONAL|”,将其替换为“a”,并统计变量$replace中的替换次数。问题可能来自您正在搜索的字符串的值。变量 $registroC100 的值是多少。向我们展示变量声明和初始化。

【讨论】:

  • “并计算变量 $replace 中的替换次数” - 不,如果 $replace 作为 fourth 参数传递,就会出现这种情况.在位置三,它是 subject,您正在搜索和替换 in 的值。
【解决方案2】:

str_replace 不会更改您的变量值,除非您使用str_replace 函数的返回值来更改。

查看这里的文档https://www.php.net/manual/pt_BR/function.str-replace.php

<?php
$replaces = 0;
$registroC100 = '|0460|001|CREDITO SIMPLES NACIONAL|';

$registroC100 = str_replace("|0460|001|CREDITO SIMPLES NACIONAL|","a", $registroC100, $replaces);

【讨论】:

  • ...所以您阅读了 cmets 并将它们放入答案中......
  • 随时改进解决方案兄弟:)
  • 首先我们需要弄清楚 OP 到底在问什么......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多