То, что происходило, состояло в том, что вы помещали свой новый массив в текущий массив вместо слияния нового массива со своим старым массивом.
$ params = array ();
$params = array_merge($params, array('userclass_id' => 3)); // Members
$params = array_merge($params, array('isonline'=>'0')); // Online
$params = array_merge($params, array('id:>' => $id));
Или, что еще лучше, вы можете просто вызвать array_merge один раз и передать ему все значения
$params = array_merge($params, array('userclass_id' => 3), array('isonline' => '0'), array('id:>' => $id));
Еще один способ получить желаемый результат - просто назначить ключи непосредственно в массиве.
$params = array();
$params['userclass_id'] = 3;
$params['isoline'] = 0;
$params['id:>'] = $id;
И, вероятно, лучший способ сделать это - просто назначить ключи при создании массива.
$params = array(
'userclass_id' => 3,
'isoline' => 0,
'id:>' => $id
);