neolord: Т.е. вам нужен двумерный массив?
Из моих экспериментов с prototype выяснилось, что массив одновременно с числовыми и строковыми ключами не сериализуется в JSON как надо, так что лучше делать исключительно ассоциативный массив. Получается как то так
var oData={}
oData['property_name']='property_value'
А чтобы добавить вложенный массив
oData['property_name']={name:'value',name2:'value2'...}
ну или oData['property_name']={} а потом поштучно заполнять через oData['property_name']['...']='...'
Ну я примерно так и сделал - в начале топика прям описал
Asar: Есть форма, где можно выбрать много параметров для выдачи из каталога -- число записей, сортировку, тип товара и т.д. Без параметров УРЛ типа site.ru/catalogue/ С параметрами -- типа site.ru/catalogue/?y=0&u=0&s=4&f=0 и т.д. При этом, если убрать все нулевые значение и оставить только site.ru/catalogue/?s=4, результат будет тем же, ибо нули отвечают за дефолтные значение. Ссылки из этого каталога распространяются как неестественно, так и естественно. При этом хотелось бы, чтобы они шли все-таки покрасивше, т.е. как site.ru/catalogue/?s=4, а не как длинный вариант. Но любой юзверь просто тупо скопирует ссылку, где будут нули и поставит ее как есть себе на сайт. Вопрос: Есть ли какие способы, чтобы нулевые параметры в адресную строку не выставлять? И стоит ли оно того или же забить и оставить везде длинные варианты?
На уровне PHP можно сделать при выводе ссылки через буферизацию
ob_start();
....
$buffer = ob_get_clean();
... заменить в $buffer по регулярке всё в ссылках, где нулевой параметр
Сорри, я на Perl пишу и привык называть ассоциативный массив хешом :)
Ассоциативный массив - если вдруг что - это абстрактный тип данных (интерфейс к хранилищу данных), позволяющий хранить пары (ключ, значение) и поддерживающий операции добавления пары, а также поиска и удаления пары по ключу.
Нельзя так простенько сделать :)
if(preg_match("/(слово1|слово2)/",$var))
* или же воспользоваться mod_rewrite чтобы сохранить старые урлы :)
Всем спасибо, нашёл человека :)
* оффтопик, но тоже может пригодится :)
Выводит ближайшие и остальные субботы и воскресенья :)
Млин, а как же регекспы?:))
preg_match("/^(([^>]+>){4})(.*)$/",$text3,$results);
echo $results[1].strip_tags($results[3]);
пустой get по-моему не отправляется
Т.е. вам нужен двумерный массив?
Из моих экспериментов с prototype выяснилось, что массив одновременно с числовыми и строковыми ключами не сериализуется в JSON как надо, так что лучше делать исключительно ассоциативный массив. Получается как то так
var oData={}
oData['property_name']='property_value'
А чтобы добавить вложенный массив
oData['property_name']={name:'value',name2:'value2'...}
ну или oData['property_name']={} а потом поштучно заполнять через oData['property_name']['...']='...'
Ну я примерно так и сделал - в начале топика прям описал
var tmp = {};
$("input[class='select']").each(function(i){
tmp[$(this).attr('name')] = $(this).attr('value');
});
data.oVar = tmp;
Засада в том, что я не хочу знать заранее какие там будут элементы
А проблема заключается в том, что мне не нравится присвоение такое, НО если сделать data.oVar[x] = y - это не придёт в сериализованную строку :(
Есть форма, где можно выбрать много параметров для выдачи из каталога -- число записей, сортировку, тип товара и т.д. Без параметров УРЛ типа site.ru/catalogue/ С параметрами -- типа site.ru/catalogue/?y=0&u=0&s=4&f=0 и т.д. При этом, если убрать все нулевые значение и оставить только site.ru/catalogue/?s=4, результат будет тем же, ибо нули отвечают за дефолтные значение.
Ссылки из этого каталога распространяются как неестественно, так и естественно. При этом хотелось бы, чтобы они шли все-таки покрасивше, т.е. как site.ru/catalogue/?s=4, а не как длинный вариант. Но любой юзверь просто тупо скопирует ссылку, где будут нули и поставит ее как есть себе на сайт.
Вопрос: Есть ли какие способы, чтобы нулевые параметры в адресную строку не выставлять? И стоит ли оно того или же забить и оставить везде длинные варианты?
На уровне PHP можно сделать при выводе ссылки через буферизацию
ob_start();
....
$buffer = ob_get_clean();
... заменить в $buffer по регулярке всё в ссылках, где нулевой параметр
echo $buffer;
А, невнимательно прочитал
Не присваивайте просто 0 в значение в этой форме
что такое "хеш" ?
Сорри, я на Perl пишу и привык называть ассоциативный массив хешом :)
Ассоциативный массив - если вдруг что - это абстрактный тип данных (интерфейс к хранилищу данных), позволяющий хранить пары (ключ, значение) и поддерживающий операции добавления пары, а также поиска и удаления пары по ключу.