foreach($d as $k => $dd){
$tmp[$d['id_parent']][$k][$d['id_lang']] = $dd;
}
Coś takiego robi w przybliżeniu to co bym chciał. Różnica polega na tym, że każdą kolumnę powiela o ilość id_lang. Nawet te które nie różnią się wartościami.
W przybliżeniu dostaję wynik:
(
(
(
[1] => 1
[2] => 1
)
(
[1] => asd
[2] => asd
)
(
[1] => [url="http://asd.asd"]http://asd.asd[/url]
[2] => [url="http://asd.asd"]http://asd.asd[/url]
)
(
[1] => 1
[2] => 1
)
(
[1] => 1
[2] => 2
)
(
[1] => Zawiszy
[2] => Zawiszen
)
)
(
(
[1] => 2
[2] => 2
)
(
[1] => bartek
[2] => bartek
)
(
[1] => [url="http://nuvola.pl"]http://nuvola.pl[/url]
[2] => [url="http://nuvola.pl"]http://nuvola.pl[/url]
)
(
[1] => 2
[2] => 2
)
(
[1] => 1
[2] => 2
)
(
[1] => Bartka
[2] => Bartkaen
)
)
)
EDIT:
Oczywiście w zamierzeniu chciałbym, żeby kolumny z taką samą wartością nie były tablicą a od razu wartością.
[id_lang] i [name] miałby zostać tak jak są.
Nie wiem jak sprawdzić czy poprzedni jest inny czy ma takie same wartości i w takim wypadku zostawić go w spokoju.