3 回答

TA貢獻1895條經(jīng)驗 獲得超7個贊
這樣的事情怎么樣:
$str = 'key1\value1\key2\value2\key3\value3\key4\value4\key5\value5';
$list = explode('\\', $str);
$result = array();
for ($i=0 ; $i<count($list) ; $i+=2) {
$result[ $list[$i] ] = $list[$i+1];
}
var_dump($result);
哪能得到你:
array
'key1' => string 'value1' (length=6)
'key2' => string 'value2' (length=6)
'key3' => string 'value3' (length=6)
'key4' => string 'value4' (length=6)
'key5' => string 'value5' (length=6)
基本上,這里的想法是:
拆分字符串
這會給你一個數(shù)組,如 'key1', 'value1', 'key2', 'value2', ...
然后,每次使用2次跳轉(zhuǎn)迭代此列表:
一個元素作為關(guān)鍵 - 指向的元素 $i
就在它之后的一個值 - 指向的那個 $i+1

TA貢獻1868條經(jīng)驗 獲得超4個贊
我對RegExp不太好,但是這個行代碼怎么樣
parse_str(preg_replace("/key(.*?)\\value(.*?)(\\|$)/", "key$1=value$2&", $input_lines), $output);
添加回答
舉報