所以我把它放到我的脚本中
if (!isset($params['q']) || !$params['q']) {
$params['q'] = 'trending';
}
if (!isset($params['meal']) || !$params['meal']) {
$params['meal'] = 0;
}
if (!isset($params['sort']) || !$params['sort']) {
$params['sort'] = 0;
}
$params = array_unique($params);
现在发生的奇怪事情是$params['q'] = 'trending'
和$params['meal'] = 0
但可疑的是,sort
将完全退出。如果我将sort
放在meal
之前,则会显示meal
而不是sort
。如果我将sort
放在另一个命令之后,则所有三个命令都会列出。这里有什么我想念的吗?好像,在php中,我不能连续两个if语句?
array (size=2)
'q' => string 'trending' (length=8)
'meal' => int 0
这是不改变顺序,现在如果我在if语句2和3之间输入命令
array (size=3)
'q' => string 'trending' (length=8)
'meal' => int 0
'sort' => int 0
这就是我想要的
答案 0 :(得分:0)
您是否试图查看密钥是否存在?如果是这样,您可能希望使用array_key_exists
,如下所示:
if (!array_key_exists('q', $params)) {
$params['q'] = 'trending';
}
if (!array_key_exists('meal', $params) {
$params['meal'] = 0;
}
if (!array_key_exists('sort', $params) {
$params['sort'] = 0;
}
$params = array_unique($params);