Сортировка строк двумерного массива по столбцу адреса, отдавая приоритет названию улицы, затем нечетным номерам улиц, заPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Сортировка строк двумерного массива по столбцу адреса, отдавая приоритет названию улицы, затем нечетным номерам улиц, за

Сообщение Anonymous »

Я работаю с многомерными массивами. Каждый массив состоит из свойств, расположенных вдоль улицы, и одним из значений является адрес улицы.
Я хотел бы упорядочить массивы так, чтобы для каждой улицы нечетные адреса указывались перед четными. адреса. Он уже упорядочен в числовом порядке (от меньшего к большему), поэтому единственное, что я пытаюсь понять, это как упорядочить шансы перед четами.
$array = array(
array('apn' => 345345345, 'sqft' => 1200, 'address' => '323 Pacific Ave.'),
array('apn' => 345345342, 'sqft' => 1421, 'address' => '324 Pacific Ave.'),
array('apn' => 345345346, 'sqft' => 1012, 'address' => '325 Pacific Ave.'),
array('apn' => 345345347, 'sqft' => 1093, 'address' => '328 Pacific Ave.'),
array('apn' => 345345353, 'sqft' => 1121, 'address' => '12 Lincoln Ave.'),
array('apn' => 345345351, 'sqft' => 1643, 'address' => '13 Lincoln Ave.'),
array('apn' => 345345352, 'sqft' => 1222, 'address' => '14 Lincoln Ave.')
);

На данный момент у меня есть следующее:
usort($array, function($a, $b)
{
if ($a['address'] % 2 == $b['address'] % 2) {
if ($a['address'] == $b['address']) {
return 0;
}
return ($a['address'] < $b['address']) ? -1 : 1;
}
return ($a['address'] % 2 == 0) ? 1 : -1;
});

Проблема в том, что в результате все шансы перечисляются перед всеми событиями, а не все шансы каждой улицы перед канунами для этой улицы, как показано ниже:Array
(
[0] => Array
(
[apn] => 345345341
[sqft] => 1001
[address] => 13 Lincoln Ave.
)
[1] => Array
(
[apn] => 345345341
[sqft] => 1001
[address] => 12 Lincoln Ave.
)

[2] => Array
(
[apn] => 345345341
[sqft] => 1001
[address] => 14 Lincoln Ave.
)

[3] => Array
(
[apn] => 345345345
[sqft] => 1200
[address] => 323 Pacific Ave.
)

[4] => Array
(
[apn] => 345345341
[sqft] => 1001
[address] => 325 Pacific Ave.
)

[5] => Array
(
[apn] => 345345342
[sqft] => 1421
[address] => 324 Pacific Ave.
)

[6] => Array
(
[apn] => 345345341
[sqft] => 1001
[address] => 328 Pacific Ave.
)

)


Подробнее здесь: https://stackoverflow.com/questions/236 ... en-odd-str
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»