将复杂的字符串分成几个部分

时间:2017-06-30 21:17:54

标签: php arrays

我有一个字符串

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

是否有可能根据需要拆分此字符串? 或者是另一种方式?

1 个答案:

答案 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'];