подскажите как по проще отсортировать двумерный массив по 2 индексу ??? изночальный массив : $mass[0][key] = 2; $mass[1][key] = 1; $mass[2][key] = 5; $mass[3][key] = 10; надо отсортировать чтоб было : $mass[0][key] = 1; $mass[1][key] = 2; $mass[2][key] = 5; $mass[3][key] = 10;
Раз вот это - sort($mass[key]) не работает, и даже вот это - array_multisort не помогает, то остаётся только писать самому. я бы сделал так - выгрузил все значения во временный массив, натравил бы sort и загрузил бы обратно.
sort($mass[key]) и array_multisort я пробовал но мне нада по 2 ключу сортировать а вот вариант с временным массивом неплохой, попробую, спасибо !
вопщим так делаем из етого : $mass[0][name] = "two"; $mass[0][number] = 2; $mass[1][name] = "one"; $mass[1][number] = 1; $mass[2][name] = "seven"; $mass[2][number] = 7; $mass[3][name] = "zero"; $mass[3][number] = 0; ето : $mass[0][name] = "zero"; $mass[0][number] = 0; $mass[1][name] = "one"; $mass[1][number] = 1; $mass[2][name] = "two"; $mass[2][number] = 2; $mass[3][name] = "seven"; $mass[3][number] = 7; вот попробывал так PHP: $mass[0][name] = "two"; $mass[0][number] = 2; $mass[1][name] = "one"; $mass[1][number] = 1; $mass[2][name] = "seven"; $mass[2][number] = 7; $mass[3][name] = "zero"; $mass[3][number] = 0; $i = 0; while ( $i <= (count($mass)-1) ){ $j = 0; while ( $j <= (count($mass)-2) ){ if($mass[$j]["number"]>$mass[$j+1]["number"]) { $temp=$mass[$j]; $mass[$j]=$mass[$j+1]; $mass[$j+1]=$temp; } $j++; } $i++; } print_r($mass); результат : Array ( [0] => Array ( [name] => zero [number] => 0 ) [1] => Array ( [name] => one [number] => 1 ) [2] => Array ( [name] => two [number] => 2 ) [3] => Array ( [name] => seven [number] => 7 ) ) КАК МОЖНО УПРОСТИТЬ ?