我正在尝试从 URL 参数列表构建一个数组以与数据库进行交易。基本上我有几个功能可以做不同的事情。(插入、更新等)因此取决于它具体尝试执行的操作,它可能始终不需要数据库中的所有列。
所以说我有这 5 个可能被传递的潜在参数:id、gr、bl、yw、re
如果我要插入一个新行,所有 5 列都需要某种值。如果我说更新 bl 列,那么我只传递 id 和 bl 参数。
所以我这样做是为了构建查询字符串(不是实际代码只是示例):
foreach($_GET as $key => $value) {
$key = strtolower($key);
if (preg_match($acceptedGETS,$key)) $$key = $value;
}
$table_col = array (
'p_id' => $_GET['id'],
'p_gr' => $_GET['gr'],
'p_bl' => $_GET['bl'],
'p_yw' => $_GET['yw'],
'p_re' => $_GET['re']);
$vstring = implode(',' , $table_col);
现在,只要所有变量键都有一个值(或不是 NULL),它就可以完美地工作。我的问题是,如何从数组中构建字符串,但排除未传递值的键。现在,如果键缺少值,我会得到这个,例如:
网址:http ://www.mysite.com/myscript.php?id=4&re=9 会得到我:
4,,,,9
当我需要得到 4,9
谢谢!