- ベストアンサー
文字列を配列にしたい
お世話になります。 PHP4.3.9を利用しているのですが、以下のような文字列を分割して、求める形の配列に入れたいのですが、何か良い方法はありますでしょうか? ■文字列 abc=123&def=456&ghi=789 ■このような形にしたいと思っています↓ $hoge = array( "abc"=>"123", "def"=>"456", "ghi"=>"789" ) ヒントだけでも結構ですので、ご教示いただけると幸いです。宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
parse_strという関数があります。 http://jp2.php.net/manual/ja/function.parse-str.php 第二引数($arr)が追加されたのは4.0.3ですから、質問者さんの環境(4.3.9)なら問題なく使えます。 (e.g.) <?php $str = 'abc=123&def=456&ghi=789'; parse_str($str, $hoge); print "<pr>"; print_r($hoge); print "</pr>";
その他の回答 (2)
- shimix
- ベストアンサー率54% (865/1590)
ANo.2です。 まったくの蛇足ですが、ANo.2の例示ソースでpre要素をprで書いてしまってますね(恥
- yambejp
- ベストアンサー率51% (3827/7415)
こんなかんじ <?PHP $str="abc=123&def=456&ghi=789"; $pattern="/(?<=^|&)(.*?)=(.*?)(?=&|$)/"; preg_match_all($pattern,$str,$match); foreach((array) $match[1] as $key=>$val){ $hoge[$val]=$match[2][$key]; } print_r($hoge); ?>