以下列格式排列字符串?

时间:2009-10-30 18:49:49

标签: php string variables foreach explode

我如何以$ _POST的格式排列一个字符串......有点,我有这种格式:

101=1&2020=2&303=3

(包括你的疑惑,它是jQuery Sortable Serialize的结果...... 我想运行一个SQL语句来更新一个带有=符号右侧的字段,其中是等号的左侧?我知道SQL的这个,但我想把它放在一个格式,我可以使用foreach($ VAR作为$ key => $ value)并从中构建一个sql语句..因为我不知道有多少101 = 1会有?

我只想以$ key = 101和$ value = 1

的方式爆炸

听起来令人困惑;) 非常感谢高级!!

6 个答案:

答案 0 :(得分:5)

请参阅parse_str功能。

答案 1 :(得分:3)

这不是PHP中最直观的函数名称,但您正在寻找的函数是parse_str()。您可以像这样使用它:

$myArray = array();
parse_str('101=1&2020=2&303=3', $myArray);
print_r($myArray);

答案 2 :(得分:1)

一个快速而肮脏的解决方案:

<?php
$str = "101=1&2020=2&303=3";
$VAR = array();
foreach(explode('&', $str) AS $pair)
{
    list($key, $value) = each(explode('=', $pair));
    $VAR[$key] = $value;
}
?>

答案 3 :(得分:1)

parse_str($query_string, $array_to_hold_values);

答案 4 :(得分:0)

爆炸&amp;得到一个包含[101 = 1,2020 = 2,303 = 3]的数组然后对每个元素进行拆分=并将键/值对推到一个新数组上。

答案 5 :(得分:0)

$input = "101=1&2020=2&303=3";
$output = array();
$exp = explode('&',$input);
foreach($exp as $e){
   $pair = explode("=",$e);
   $output[$pair[0]] = $pair[1];
}