Штатная битриксовая функция CMain::GetCurPageParam не умеет удалять элементы многомерных массивов. Пришлось написать ей замену. UPD: появилась новая версия дополненная и улучшенная: http://dev.1c-bitrix.ru/community/web...ubykh-uri/ [spoiler] Сама GetCurPageParam осталась прежней, изменения коснулись функции DeleteParam.
Синтаксис полностью совместим с оригиналом + добавлена новая фича: в качестве удаляемого параметра можно передать массив ключей, тогда из $_GET будет удалён параметр, соответствующий последнему ключу.
Описанные функции поместил в \bitrix\php_interface\init.php Параметры вида: param[4220]=153120 функция удаляет на ура при попытке задать для такого запроса param[4220][]=153120 вываливает ошибка
# Содержимое переменных на момент возникновения ошибки # $reqParams == '' # $FILTER_NAME == 'arFilter' # $crPropVal['ID'] == '4220' # $valKey = 0
Ошибка: Warning: array_key_exists() [function.array-key-exists]: The first argument should be either a string or an integer in ...\www\bitrix\php_interface\init.php on line 167
Майдокин Алексей, понял свою ошибку, массив array( array( 'param', 4220, 0 ) ); я передавал массив в массиве и того три массива в параметрах, надо было просто указывать ключи через запятую Спасибо!
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».