プロが教えるわが家の防犯対策術!

お世話になります。
PHP4.3.9を利用しているのですが、以下のような文字列を分割して、求める形の配列に入れたいのですが、何か良い方法はありますでしょうか?

■文字列
abc=123&def=456&ghi=789

■このような形にしたいと思っています↓
$hoge = array(
  "abc"=>"123",
  "def"=>"456",
  "ghi"=>"789"
)

ヒントだけでも結構ですので、ご教示いただけると幸いです。宜しくお願いします。

A 回答 (3件)

parse_strという関数があります。



http://jp2.php.net/manual/ja/function.parse-str. …

第二引数($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>";
    • good
    • 0

ANo.2です。



まったくの蛇足ですが、ANo.2の例示ソースでpre要素をprで書いてしまってますね(恥
    • good
    • 0

こんなかんじ



<?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);
?>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!