0

我怎样才能以 $_POST 的格式排列一个字符串......有点,我有这种格式进来:

101=1&2020=2&303=3

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

我只是想以 $key = 101 和 $value = 1 的方式爆炸

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

4

6 回答 6

5

parse_str功能。

于 2009-10-30T18:53:25.050 回答
3

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

$myArray = array();
parse_str('101=1&2020=2&303=3', $myArray);
print_r($myArray);
于 2009-10-30T18:53:38.090 回答
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;
}
?>
于 2009-10-30T18:52:42.587 回答
1
parse_str($query_string, $array_to_hold_values);
于 2009-10-30T18:54:15.780 回答
0

展开 & 得到一个包含 [ 101=1 , 2020=2 , 303=3 ] 的数组,然后对于每个元素,在 = 上拆分并将键/值对推送到新数组中。

于 2009-10-30T18:53:29.667 回答
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];
}
于 2009-10-30T18:53:41.583 回答