Gå til innhold

Sortere array (multidimensjon)


Anbefalte innlegg

Har et array på følgende form:

$test[345] = array(2,"Petter Pettersen");

$test[324] = array(1,"Hans Hansen");

$test[123] = array(3,"Ole Olsen");

 

Ønsker å sortere dette etter tallet som står inni det andre arrayet (2,1,3) og deretter kaste vekk dette tallet.

Vil da at test skal se slik ut:

 

$test = array(324->Hans Hansen, 345->Petter Pettersen, 123->Ole Olsen);

 

Hva er beste måte å fikse dette? array_multisort på et eller annet vis?

Lenke til kommentar
Videoannonse
Annonse

<?php

function array_clean ( $array, $key ) {
	$return = array ();
	foreach ( $array as $var => $val ) {
		$return[$var] = $val[$key];
	}
	return $return;
}

$test[345] = array ( 2,"Petter Pettersen" );
$test[324] = array ( 1,"Hans Hansen" );
$test[123] = array ( 3,"Ole Olsen" );

array_multisort ( array_clean ( $test, 0 ), SORT_DESC, $test );

$test = array_clean ( $test, 1 );

print_r ( $test );

?>

 

<?php

$test[345] = array ( 2,"Petter Pettersen" );
$test[324] = array ( 1,"Hans Hansen" );
$test[123] = array ( 3,"Ole Olsen" );

foreach ( $test as $val )
	$testR[$val[0]] = $val[1];

krsort ( $testR );

print_r ( $testR );

?>

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...