Archief - PHP: Multidimensionele array sorteren

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

caoimhin

Legacy Member
Mijn verstand laat mij vandaag blijkbaar in de steek, want het lukt mij maar niet om het op te lossen :angry:

Ik heb bv. volgende array:

Code:
$arr_test = array();

$arr_test[] = array(
    'id'            => 1 ,
    'name'        => 'a' ,
    'parent_id'    => 0);

$arr_test[] = array(
    'id'            => 2 ,
    'name'        => 'b' ,
    'parent_id'    => 0);

$arr_test[] = array(
    'id'            => 3 ,
    'name'        => 'aa' ,
    'parent_id'    => 1);

$arr_test[] = array(
    'id'            => 4 ,
    'name'        => 'ba' ,
    'parent_id'    => 2);

$arr_test[] = array(
    'id'            => 5 ,
    'name'        => 'ab' ,
    'parent_id'    => 1);

$arr_test[] = array(
    'id'            => 6 ,
    'name'        => 'c' ,
    'parent_id'    => 0);

$arr_test[] = array(
    'id'            => 7 ,
    'name'        => 'aaa' ,
    'parent_id'    => 3);

Deze zou moeten gesorteerd worden zodat je de parent krijgt met telkens daar onder de bijhorende children. In dit voorbeeld zou het er zo moeten uitzien:

Code:
$arr_test = array();

$arr_test[] = array(
    'id'            => 1 ,
    'name'        => 'a' ,
    'parent_id'    => 0);

$arr_test[] = array(
    'id'            => 3 ,
    'name'        => 'aa' ,
    'parent_id'    => 1);
    
$arr_test[] = array(
    'id'            => 5 ,
    'name'        => 'ab' ,
    'parent_id'    => 1);
    
$arr_test[] = array(
    'id'            => 7 ,
    'name'        => 'aaa' ,
    'parent_id'    => 3);
    
$arr_test[] = array(
    'id'            => 2 ,
    'name'        => 'b' ,
    'parent_id'    => 0);

$arr_test[] = array(
    'id'            => 4 ,
    'name'        => 'ba' ,
    'parent_id'    => 2);

$arr_test[] = array(
    'id'            => 6 ,
    'name'        => 'c' ,
    'parent_id'    => 0);

Om het kort voor te stellen:

Id's (oorspronkelijk) 1 2 3 4 5 6 7
Id's in nieuwe volgorde: 1 3 5 7 2 4 6

Om één of andere duistere reden lukt het mij vandaag echt niet :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan