-1
모든 위치가 객체 인 배열이 있습니다. 각 객체에는 "order"속성이 있으며이 속성으로 배열을 정렬하려고합니다.배열 클래스를 주문하는 가장 좋은 방법은 무엇입니까?
가장 좋은 방법은 무엇입니까?
나는 약 array_multisort
을 보았지만 위치가 객체이고 배열이 아니기 때문에 이것이 작동하지 않는다고 생각합니다.
모든 위치가 객체 인 배열이 있습니다. 각 객체에는 "order"속성이 있으며이 속성으로 배열을 정렬하려고합니다.배열 클래스를 주문하는 가장 좋은 방법은 무엇입니까?
가장 좋은 방법은 무엇입니까?
나는 약 array_multisort
을 보았지만 위치가 객체이고 배열이 아니기 때문에 이것이 작동하지 않는다고 생각합니다.
당신은 그런 식으로 작업을 수행 할 수 있습니다
<?php
class OrderedItem
{
public $title;
public $order;
public function __construct($title, $order)
{
$this->title = $title;
$this->order = $order;
}
}
$items = [
new OrderedItem('Title 1.2', 1),
new OrderedItem('Title 3', 3),
new OrderedItem('Title 4', 4),
new OrderedItem('Title 1.1', 1),
new OrderedItem('Title 2', 2),
];
usort($items, function (OrderedItem $i1, OrderedItem $i2) {
return ($i1->order < $i2->order) ? -1 : 1;
});
을 결과, $items
배열은 다음과 같습니다 귀하의 경우 '순서'속성 인 경우
Array
(
[0] => OrderedItem Object
(
[title] => Title 1.1
[order] => 1
)
[1] => OrderedItem Object
(
[title] => Title 1.2
[order] => 1
)
[2] => OrderedItem Object
(
[title] => Title 2
[order] => 2
)
[3] => OrderedItem Object
(
[title] => Title 3
[order] => 3
)
[4] => OrderedItem Object
(
[title] => Title 4
[order] => 4
)
)
private
정적 방법을 만들 수 있습니다 객체 클래스 내에서 'order'속성을 비교합니다. 공식 문서에서 예제를 찾는 방법을 찾을 수 있습니다 : http://php.net/manual/en/function.usort.php#example-5639
당신은 우리에게 당신의 어레이와 당신에게 필요한 O/P를 보여줄 수 있습니까? – Tiger