ďťż
Podstrony
|
telcocafeZnalazł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"); |
|||
Sitedesign by AltusUmbrae. |