Преобразование массива

Марат

Новичок
Преобразование массива

Здравствуйте!
Встала передомной задача: написать функцию, которая будет из любого многомерного массива делать массив, примерное такого вида:
PHP:
Array
(
    [1] => Array
        (
            [0] => ключ
            [1] => значение
        )

    [2] => Array
        (
            [0] => ключ
            [1] => значение
        )
)
То есть весь многомерный массив переводил в двухмерный.
Сам скрипт у меня получился такой:
PHP:
$mypost=array();
post2mypost($_POST,0);
print_r($mypost);
function post2mypost($array,$i) {
	global $mypost;
	foreach($array as $key => $item) {
		if (is_array($item)) post2mypost($item,$i);
		else {
			$i++;
			$mypost[$i][0]=$key;
			$mypost[$i][1]=$item;
		}
	}
}
В данном случае я преобразовываю массив $_POST (массив многомерный)
Но вот встала передомной задача получать в переменной $mypost[$i][0] полное название массива.
Например если массив $temp["test0"]["test1"]="test2"; "пропустить" через эту функцию, то получим такой массив:
PHP:
Array
(
    [1] => Array
        (
            [0] => test1 /*ключ массива, тут хотелось бы получить [test0][test1]*/
            [1] => test2 /*значение массива*/
        )

)
Пожалуйста подскажите примерный алгоритм получения такого вот массива.
 

Wicked

Новичок
Встала передомной задача: написать функцию, которая будет из любого многомерного массива делать массив, примерное такого вида:
Т.е. вот так взяла и встала? От нечего делать? :)

Расскажи лучше, зачем тебе это понадобилось. А то я не припоминаю случая, чтобы кому-нибудь такое было нужно.
 

Марат

Новичок
Угук, встала! Стоит и не уходит :)
Мне это надо для обработки данных, которые пришли методом post.
Пишу приметивный прокси. (для себя. просто заняться нечем, вот и маюсь чушью) (прокси работает через браузер)
Идея такая: обрабатывать этот массив и массив $_FILES и по средствам сокетов отправлять их на сервак.
 

rotoZOOM

ACM maniac
Wicked например для преобразования классического дерева в плоский массив с полным путем до корня :)

PHP:
$mypost=array();
post2mypost($_POST,"");
print_r($mypost);
function post2mypost($array,$pref) {
    global $mypost;
    foreach($array as $key => $item) {
        if (is_array($item)) post2mypost($item,$pref."[$key]");
        else {
            $mypost[]=array ($pref."[$key]",$item);
        }
    }
}
 

Solid

Drosera anglica
Вам требовалось всего-навсего ответить на один вопрос: бывают ли многомерные массивы в супер-глобальной переменной $_POST?
PHP:
$post = array();
foreach ($_POST as $k => $v) {
	$post[] = $k.'='.$v;
}
$post = join('&', $post);
Или так:
PHP:
$post = '';
foreach ($_POST as $k => $v) {
	$post .= $k.'='.$v.'&';
}
-~{}~ 16.01.07 05:36:

Хотя да.. виноват.. бывают name="val[]"
 
Сверху