Я использую функции массива, чтобы преобразовать строку, связанную с строкой, в ассоциативный массив.
$piper = "|k=f|p=t|e=r|t=m|";
$piper = explode("|",$piper);
$piper = array_filter($piper);
function splitter(&$value,$key) {
$splitted = explode("=",$value);
$key = $splitted[0];
$value = $splitted[1];
}
array_walk($piper, 'splitter');
var_dump($piper);
это дает мне
array (size=4)
1 => string 'f' (length=1)
2 => string 't' (length=1)
3 => string 'r' (length=1)
4 => string 'm' (length=1)
где я хочу:
array (size=4)
"k" => string 'f' (length=1)
"p" => string 't' (length=1)
"e" => string 'r' (length=1)
"t" => string 'm' (length=1)
но ключи не изменяются. Есть ли какая-либо функция массива, с которой я могу перебирать массив и менять ключи и значения?