11 Mar
2012
Имеется массив типа $p=Aray("id"=>"....","name"=>"....","c"=>"...." и т.д.). Формируется он именно в таком порядке (первым в массив помещяется элемент к ключом "id"? вторым "name" и т.д.). Как его собрать в строку функцией implode именно в таком же порядке? Почему-то собирается задом наперед...
массив действительно в нужном порядке создан? print_r() что покажет?
Хм, показывает задом наперед... Тогда другой вопрос: так это что, list() загоняет элементы в массив задом наперед?.. list(эл-т1, эл-т2, эл-т3)=explode..., а потом сразу пишу print_r, он выводит эл-т3, эл-т2, эл-т1
а почему нельзя создать массив $items = array('a'=>'b', 'cde'=>10);
ну или после создания наполнить $items['next_value'] = 11111;
?
Мне надо прочесть строку и распарсить ее в ассоциативный массив. Потом сделать действия над элементами, собрать строку обратно. Поскольку строки разные, но собирать надо одной функцией, решение "собрать вручную" не канает.
да простенькая задача, не знаю в чем там может быть проблема(:
решить ее можно не одним способом точно, если сильно нужно можно просто глянуть код)
ну например:
function packItem($item) {
return implode("+",$item)
}
list($a["id"],$a["b"],$a["k"])=explode("+",$s);
$a["b"]=intval($a["b"]);
$s=packItem($a);
http://paste.kde.org/437210/ инициализировать массив, либо вместо explode бить с помощью preg_match_all('/(.?)+/', '1+2+3', $m);
http://paste.kde.org/437222/ вот так чуть лучше