我正在使用 urlencode 和 urldecode 通过 html 表单传递变量。
$info = 'tempId='.$rows['tempID'].'&tempType='.$rows['tempType'].'&dbId='.$rows['ID'];
echo '<input type="hidden" name="rank[]" value="'.urlencode($info).'" >';
这是 $rows 中的内容
array (size=4)
'ID' => string '110' (length=3)
'tempID' => string '1' (length=1)
'tempType' => string 'temp_first' (length=10)
'pageOrder' => string '0' (length=1)
所以 $info 是
tempId=1&tempType=temp_first&dbId=110
但是如果我再解码它,它会丢失 1 个参数。这怎么可能?
foreach (explode('&', urldecode($list[$i])) as $chunk) {
$param = explode("=", $chunk);
$tempId = urldecode($param[0]); // template id
$tempType = urldecode($param[1]); // Template type
$dbId = urldecode($param[2]); // database ID
var_dump($param);
}
输出:
array (size=2)
0 => string 'dbId' (length=4)
1 => string '110' (length=3)
有时,数组中甚至有一些不应该存在的东西,例如它不是 temp_first,而是 tempType。只是变量名。
我希望你们能帮助我