Вы должны создать пользовательскую функцию сравнения для вашего массива и использовать ее с uasort()
для поддержки индексов массива.
Вот как вы можете использовать uasort()
для сортировки по line_1
... Изменить сортировку по любому другому ключу во вложенном массиве просто.
<?php
// The custom comparison function
function cmp($a, $b)
{
if ($a["line_1"] == $b["line_1"]) {
return 0;
}
return ($a["line_1"] < $b["line_1"]) ? -1 : 1;
}
// Sort the array using your custom comparison
uasort($array, 'cmp');
// Make sure we got the right result
print_r($array);
?>
(я изменил line_1
числа, чтобы сортировка действительно что-то делала)
В этом случае PHP будет манипулировать типами для вас, но вы должны следить за тем, что у вас есть строки и конвертировать их в числа. Если вы не уверены, что произойдет, приведите строки к плавающим или целым числам. Это важно, поскольку PHP может сравнивать строки в алфавитном порядке с операторами сравнения .... поэтому, если есть вероятность, что буква или запятая или что-то может проникнуть в значение массива, вы можете набрать тип в int ((int) $a["line_1"]
) или в число с плавающей точкой ((float) $a["line_1"]
).