$city = $_GET['cityselect'];
add_query_arg( array ( 'city' => $city, 'key' => 'value' );
基本上我想检查 $city 是否存在,如果不存在,我想同时删除键和值,即'city' => $city,
(包括逗号)。所以输出将是:
add_query_arg( array ( 'key' => 'value' );
任何的想法?
$city = $_GET['cityselect'];
add_query_arg( array ( 'city' => $city, 'key' => 'value' );
基本上我想检查 $city 是否存在,如果不存在,我想同时删除键和值,即'city' => $city,
(包括逗号)。所以输出将是:
add_query_arg( array ( 'key' => 'value' );
任何的想法?
仅在city
已设置的情况下添加密钥,如下所示:
$arg = array( 'key' => 'value');
if( isset( $_GET['cityselect']))
$arg['city'] = $_GET['cityselect'];
add_query_arg( $arg);
试试这个
$data = array();
if(isset($_GET["cityselect"])){
$data["city"] = $_GET["cityselect"];
}
add_query_arg($data); // ..
如果您尝试删除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
为空,它将从数组中删除。
对于简短但丑陋的单行版本:
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
您可以使用array_search()(在数组中搜索给定值,如果成功则返回相应的键)。