$city = $_GET['cityselect'];
add_query_arg( array ( 'city' => $city, 'key' => 'value' );
基本上我想检查$ city是否存在,如果不是,我想删除键和值,即'city' => $city,
(包括逗号)。所以输出将是:
add_query_arg( array ( 'key' => 'value' );
有什么想法吗?
答案 0 :(得分:0)
如果设置了密钥,则只添加city
密钥,如下所示:
$arg = array( 'key' => 'value');
if( isset( $_GET['cityselect']))
$arg['city'] = $_GET['cityselect'];
add_query_arg( $arg);
答案 1 :(得分:0)
试试这个
$data = array();
if(isset($_GET["cityselect"])){
$data["city"] = $_GET["cityselect"];
}
add_query_arg($data); // ..
答案 2 :(得分:0)
如果您尝试删除city
,如果它不存在,您可以执行以下操作:
$city = isset($_GET['cityselect']) ? $_GET['cityselect'] : null;
if (empty($city)) unset($yourArray['city']);
这假设您已经有一个预先定义为$yourArray
索引的数组city
。
我建议您仅在验证后插入city
索引,例如:
if (isset($_GET['cityselect']) && !empty($_GET['cityselect'])) {
$yourArray['city'] = $_GET['cityselect'];
}
更新:完成填充后,您还可以使用array_filter()
删除所有缺少值的索引:
$yourArray = array_filter($yourArray);
这将返回一个数据,其中所有空值都被剥离;在您的情况下,如果city
为空,则会从数组中删除。
答案 3 :(得分:0)
对于短而丑陋的单行版本:
add_query_arg($args = (!empty($_GET['cityselect'])) ? array('city' => $_GET['cityselect'], 'key' => 'value') : array('key' => 'value');
稍微优雅一点:
if(!empty($_GET['cityselect']))
add_query_arg(array('city' => $_GET['cityselect'], 'key' => 'value'));
else
add_query_arg(array('key' => 'value'));
假设使用empty
,但如果适用于您的情况,请替换isset
。
答案 4 :(得分:-1)
您可以使用array_search()(在数组中搜索给定值,如果成功则返回相应的键)。