我有一个Google表格预填充网址
$input = "https://docs.google.com/forms/d/e/1FAIpQLSe8aZbfXa2IRRzK6hPTDKvAf_Oa8chTMrX8wkkYcuVHGs-vuA/viewform?usp=pp_url&entry.1064398956=NAME&entry.1318807391=TELEPHONE";
$pars = parse_url($input);
$values = $pars["query"];
$values = str_replace("entry.", "", $values);
$values = str_replace("usp=pp_url&", "", $values);
使用此代码,我得到的值为
1064398956=NAME&1318807391=TELEPHONE
因为数字(条目ID)总是不同,我使用默认值(如NAME,TELEPHONE),这些将被存储到mySQL数据库,如下所示:
Id || NAME || VALUE
================================
1 || 1064398956 || 1318807391
要将行上传到该mysql数据库,我有查询:
INSERT INTO TABLE (ID, NAME, VALUE) VALUES (1, $NAME, $VALUE)
基于以下字符串,我如何找到值$ NAME和$ VALUE?
1064398956=NAME&1318807391=TELEPHONE
答案 0 :(得分:1)
@mario和@ chris85解决方案有效:
$string = '1064398956=NAME&1318807391=TELEPHONE';
parse_str($string, $output);
print_r(array_flip($output));
答案 1 :(得分:0)
此代码将使用值(带有'NAME'值的$ VALUE变量)
切换var name whitfunction get_var_name($vars, $var)
{
foreach ($vars as $name => $value) {
if ($value === $var) {
return $name;
}
}
return false;
}
$NAME = "VALUE";
$$NAME = get_var_name(get_defined_vars(), $NAME);
echo $VALUE; // will print 'NAME'