亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP將分隔的字符串拆分為鍵/值對(關聯數組)

PHP將分隔的字符串拆分為鍵/值對(關聯數組)

臨摹微笑 2019-09-03 20:28:22
我有一個像這樣的字符串:key1\value1\key2\value2\key3\value3\key4\value4\key5\value5我希望它是一個關聯數組,以便我能做到:echo $myArray['key1']; // prints value1echo $myArray['key3']; // prints value3//etc...我知道我可以在反斜杠上爆炸,但不知道如何從那里開始。
查看完整描述

3 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超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)


基本上,這里的想法是:


拆分字符串

這會給你一個數組,如 'key1', 'value1', 'key2', 'value2', ...

然后,每次使用2次跳轉迭代此列表:

一個元素作為關鍵 - 指向的元素 $i

就在它之后的一個值 - 指向的那個 $i+1


查看完整回答
反對 回復 2019-09-03
?
MYYA

TA貢獻1868條經驗 獲得超4個贊

我對RegExp不太好,但是這個行代碼怎么樣


parse_str(preg_replace("/key(.*?)\\value(.*?)(\\|$)/", "key$1=value$2&", $input_lines), $output);


查看完整回答
反對 回復 2019-09-03
  • 3 回答
  • 0 關注
  • 1592 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號