我有一个字符串
a:1:{s:9:"dovclient";a:2:{s:13:"regular_price";s:8:"999";s:13:"selling_price";s:0:"";}}
我需要将每个这样的AS拆分为3个部分:
$part1 = a:1:{s:9:"dovclient";a:2:{s:13:"regular_price";s:8:"
$part2 = 999 //price
$part3 = ";s:13:"selling_price";s:0:"";}}
PART3永远不会改变
PART2是需要的值
在regular_price";
之后{1}} s:8:"
可以是s:6:"
或s:7:"
(我不理解创建它的逻辑),而且价格($ part2)是可变的
所以在最后我想要使用每个相同字符串的第1部分和第3部分,但第2部分我想要改变。像
$ new_string = $part1.'2929'.$part3
是否有可能根据需要拆分此字符串? 或者是另一种方式?
答案 0 :(得分:0)
这几乎是一个序列化的数组。此部分run_erl.log
不正确,因为s:8:"999"
表示s:8
长度为string
,但字符串8
仅为999
字符,因此我将其更正为{{} 1}},然后使用unserialize():
3
收率:
s:3:"999"
所以访问元素:
$result = unserialize('a:1:{s:9:"dovclient";a:2:{s:13:"regular_price";s:3:"999";s:13:"selling_price";s:0:"";}}');
print_r($result);
如果你想修改它,Array
(
[dovclient] => Array
(
[regular_price] => 999
[selling_price] =>
)
)
如图所示,修改数组,就像修改任何其他数组一样,然后再修改echo $result['dovclient']['regular_price'];
。