我一直在尝试将字符串爆炸两次然后将其爆炸。 这就是我两次爆炸的意思。 所以我有一个字符串
:0,0,1,0,0:0,0,0,0,0:
我想编辑第三个零并将其更改为一个。
我怎么做?
我试过爆炸:
然后爆炸,
,然后Idk如何破坏它。
我尝试过这段代码,但我不能破坏:
$exploding = ':0,0,0,1,0,0:0,0,0,0,0:';
$explode = explode(':', $exploding);
$explodes = explode(',', $explode[1]);
$explodes[$part] = $type;
$explodes = implode(',', $explodes);
答案 0 :(得分:0)
// Explode on :
$array = explode(':', $string);
// Now explode each on ,
foreach ($array as &$substring) {
$substring = explode(',', $substring);
}
// Change third 0 to 1
$array[1][3] = '1';
// Now implode on ,
foreach ($array as &$substring) {
$substring = implode(',', $substring);
}
// Now implode on :
$new_string = implode(':', $array);
foreach
循环中的引用变量允许您更新数组元素。
一个更简单的版本就像你的尝试一样:
$exploding = ':0,0,0,1,0,0:0,0,0,0,0:';
$explode = explode(':', $exploding);
$explodes = explode(',', $explode[1]);
$explodes[$part] = $type;
$explode[1] = implode(',', $explodes);
$exploding = implode(':', $explode);
答案 1 :(得分:0)
$ part和$ type未定义,但此代码应将此特定字符串的第三个0更改为1:
$exploding = ':0,0,0,1,0,0:0,0,0,0,0:';
$explode = explode(':', $exploding);
$explodes = explode(',', $explode[1]);
$explodes[2] = '1';
$explodes = implode(',', $explodes);
这看起来很奇怪,所以我不确定你是不是只想弄清楚爆炸是如何工作的,或者你是否想要一些能用于不同字符串的东西。
检查我的其他解决方案,以找到解决这些问题的更好方法。
答案 2 :(得分:0)
我添加了一个专门回答问题的答案,但是我可以建议一种更易于解决更复杂问题的不同方法吗? PHP允许您以字符串形式访问字符串,索引是字符串中字符从零开始的位置。
<强>代码:强>
$string = ':sd0,2[wsdsjds0sdfs0ksdjse00df0';
echo $string.'<br />';
$zeroCounter = 0;
for ($i=0;$i<strlen($string);$i++) {
if ($string[$i] === '0') {
$zeroCounter += 1;
if ($zeroCounter === 3) {
$string[$i] = '1';
break;
}
}
}
echo $string;
<强>输出:强>
:sd0,2[wsdsjds0sdfs**0**ksdjse00df0
:sd0,2[wsdsjds0sdfs**1**ksdjse00df0
如果您有任何疑问,请与我联系!
答案 3 :(得分:0)
您的代码正确但不完整,这对我有用:
$part = 3;
$type = 1;
$exploding = ':0,0,1,0,0,0:0,0,0,0,0:';
$explode = explode(':', $exploding);
$explode[1] = explode(',', $explode[1]);
$explode[1][$part] = $type;
$explode[1] = implode(',', $explode[1]);
$explode = implode(':', $explode);
print $exploding;
print "<br/>";
print $explode;
输出:
:0,0,1,0,0,0:0,0,0,0,0:
:0,0,1,1,0,0:0,0,0,0,0: