ďťż

[php]Sortowanie tablicy wielowymiarowej

       

Podstrony


telcocafe

Znalazłem w manualu sortowanie tablicy wielowymiarowej, ciut przerobiłem, aby dane były "przyjemniejsze" function namecmp( $row1,$row2 ) {   $first = strcmp($row1[2], $row2[2]);   if ( $first )       return $first;   else       return strcmp($row1[1], $row2[1]); }     $test = array (                 array('Cos1', 'Cos11', 4),                 array('Cos2', 'Cos22', 3),                 array('Cos3', 'Cos33', 5)    );          ; echo "<pre>"; print_r( $test ); uasort($test,'namecmp'); echo "----sorting----<br \>"; print_r( $test ); echo "</pre>";Ale kod ten jedynie wyświtla posortowane dane, ale gdy się odwoła do tablicy przez $test[0][0] to dalej pod tym adresem są stare wartości. Jak przerobić ten kod, aby dane posortowało i zmieniło numery przyporządkowane wewnętrznym tablicom?



function namecmp( &$row1,&$row2 ) {  $first = strcmp($row1[2], $row2[2]);  if ( $first )      return $first;  else      return strcmp($row1[1], $row2[1]); }

moze przez referencje trzeba sprobwoac

Już rozwiązałem problem, pomogło coś takiego: $test2 = array (                 array('Cos1', 'Cos11', 4),                 array('Cos2', 'Cos22', 3),                 array('Cos3', 'Cos33', 4)    ); function sortuj($a, $b) {   if ($a[2]<$b[2]) return 1;   else if ($b[2]<$a[2]) return -1;   else return 0; } usort($test2, "sortuj");

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.