여러 값을 기준으로 배열 정렬

마틴 볼

개체 속성에 따라 개체 배열을 정렬해야합니다. 기본적 으로이 픽스쳐 테이블을 보고 "Liverpool FC"와 "Manchester City FC"에 주목하면 점수가 같은 것을 볼 수 있으므로 다른 값이 더 높은 것에 따라 정렬됩니다.

이제 것을 살펴보면 포인트를 기준으로 주문하고 있으며 여러 값을 기준으로 주문하는 방법을 모르겠습니다.

데이터는 클래스의 인스턴스 내에 저장되며,이 인스턴스는 팀 이름 인 Array() 내에 저장됩니다 Key.

아래는 데이터를 관리하는 클래스입니다. 첫 번째 링크의 순서대로 개체가 정렬되도록 배열을 다시 정렬하려면 어떻게해야합니까?

 class Calc {
    private $config;
    public $win = 0, $draw = 0, $loss = 0, $goalFor = 0, $goalConc = 0;

    public function __construct($payload = array(0,0)) {
      // Load config file
      $this->config = parse_ini_file('config.ini', true);

      // Add wins, losses, draws, goals for and goal conceived
      $this->addData($payload);
    }

    // Linked data updated, ammend values
    public function calcPlays() {
      return 0 + $this->win + $this->draw + $this->loss;
    }
    public function calcPoints() {
      // Add 0 to ensure value is an int
      return $this->win * ($this->config['winPoints']) + ($this->draw * $this->config['drawPoints']) + ($this->loss * $this->config['lossPoints']);
    }
    public function calcGoalDifference() {
      return ($this->goalFor - $this->goalConc);
    }

    public function addData($data) {
      // Append goal data
      $this->goalFor += $data[0];
      $this->goalConc += $data[1];

      // Win, Loss or Draw
      if ($data[0] > $data[1]) { $this->win++;} elseif
      ($data[0] < $data[1]) { $this->loss++;} elseif
      ($data[0] == $data[1]) { $this->draw++;}
    }
  }

편집하다:

내 데이터는 이제 어디에나 있습니다.

1   Burnley FC  13  4   2   7   12  21  -9  14
2   Leicester City FC   13  3   4   6   16  22  -6  13
3   Crystal Palace FC   13  3   2   8   21  26  -5  11
4   Swansea City FC 13  2   3   8   16  26  -10 9
5   Arsenal FC  13  8   4   1   28  13  15  28

나는 내 수표가 잘못된 길이라고 가정하고 있는데 , $a이보다 크거나 같으면 $b다음 수표로 이동하지 않으면 true를 반환 한다고 가정했습니다 .

코드:

// Sort teams by points
uasort($teamData, function($a, $b) {
  if ($a->calcPoints() < $b->calcPoints() && $a->calcPoints() !== $b->calcPoints()) {
    return true;
  } elseif ($a->calcGoalDifference() < $b->calcGoalDifference() && $a->calcGoalDifference() !== $b->calcGoalDifference()) {
    return true;
  } elseif($a->goalConc < $b->goalConc) {
    return true;
  }
  return false;
});
겨울 포크

usort 를 사용 하고 다른 값을 비교하고 그에 따라 정렬하는 함수를 작성할 수 있습니다 .

라인을 따라 뭔가 :

uasort($teamData, function ($a, $b)
{
    if ( $a->calcPoints() < $b->calcPoints() )
    {
        return 1;
    }
    elseif ( $a->calcPoints() <= $b->calcPoints() && $a->calcGoalDifference() < $b->calcGoalDifference() )
    {
        return 1;
    }
    elseif ( ($a->calcPoints() <= $b->calcPoints() && $a->calcGoalDifference() <= $b->calcGoalDifference()) && $a->goalConc < $b->goalConc )
    {
        return 1;
    }

    return 0;
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

여러 값을 기준으로 배열 정렬

분류에서Dev

ID 배열을 기준으로 여러 배열 정렬

분류에서Dev

여러 속성을 기준으로 개체 배열 정렬

분류에서Dev

값을 기준으로 배열 정렬

분류에서Dev

특정 상수 값을 기준으로 여러 속성에 대한 객체의 JavaScript 정렬 배열

분류에서Dev

부분 배열의 값을 기준으로 배열 정렬

분류에서Dev

다른 배열 정렬 순서를 기준으로 여러 배열 정렬

분류에서Dev

여러 속성을 기준으로 문자열과 정수를 포함하는 배열 정렬

분류에서Dev

다른 정렬 된 배열을 기준으로 배열 정렬

분류에서Dev

다른 정렬 된 배열을 기준으로 배열 정렬

분류에서Dev

값을 기준으로 배열을 정렬하는 PHP

분류에서Dev

값을 기준으로 2D 배열 정렬

분류에서Dev

PostgreSQL : JSON 배열의 JSON 값을 기준으로 행 정렬

분류에서Dev

중첩 된 개체 값을 기준으로 배열 정렬

분류에서Dev

float 값을 기준으로 객체 배열 정렬

분류에서Dev

속성 값을 기준으로 JSON 배열 정렬

분류에서Dev

값을 기준으로 자바 스크립트 배열 정렬

분류에서Dev

값을 기준으로 해시 배열 정렬

분류에서Dev

키 => 값 쌍을 기준으로 배열 정렬

분류에서Dev

값을 기준으로 배열 인덱스 정렬

분류에서Dev

여러 값을 기준으로 Json 정렬

분류에서Dev

숫자 배열을 기준으로 문자열 배열 정렬

분류에서Dev

열을 기준으로 행렬 정렬

분류에서Dev

여러 값을 기준으로 배열 필터링

분류에서Dev

특정 문자열 값을 기준으로 문자열 배열 정렬

분류에서Dev

값을 기준으로 배열을 여러 배열로 분할-PHP

분류에서Dev

한 열을 기준으로 사전 순으로, 다른 열로 숫자로 구분 된 여러 파일 정렬

분류에서Dev

Excel : 정렬되지 않은 열을 기준으로 여러 열에 대한 데이터 정렬

분류에서Dev

Excel : 정렬되지 않은 열을 기준으로 여러 열에 대한 데이터 정렬

Related 관련 기사

  1. 1

    여러 값을 기준으로 배열 정렬

  2. 2

    ID 배열을 기준으로 여러 배열 정렬

  3. 3

    여러 속성을 기준으로 개체 배열 정렬

  4. 4

    값을 기준으로 배열 정렬

  5. 5

    특정 상수 값을 기준으로 여러 속성에 대한 객체의 JavaScript 정렬 배열

  6. 6

    부분 배열의 값을 기준으로 배열 정렬

  7. 7

    다른 배열 정렬 순서를 기준으로 여러 배열 정렬

  8. 8

    여러 속성을 기준으로 문자열과 정수를 포함하는 배열 정렬

  9. 9

    다른 정렬 된 배열을 기준으로 배열 정렬

  10. 10

    다른 정렬 된 배열을 기준으로 배열 정렬

  11. 11

    값을 기준으로 배열을 정렬하는 PHP

  12. 12

    값을 기준으로 2D 배열 정렬

  13. 13

    PostgreSQL : JSON 배열의 JSON 값을 기준으로 행 정렬

  14. 14

    중첩 된 개체 값을 기준으로 배열 정렬

  15. 15

    float 값을 기준으로 객체 배열 정렬

  16. 16

    속성 값을 기준으로 JSON 배열 정렬

  17. 17

    값을 기준으로 자바 스크립트 배열 정렬

  18. 18

    값을 기준으로 해시 배열 정렬

  19. 19

    키 => 값 쌍을 기준으로 배열 정렬

  20. 20

    값을 기준으로 배열 인덱스 정렬

  21. 21

    여러 값을 기준으로 Json 정렬

  22. 22

    숫자 배열을 기준으로 문자열 배열 정렬

  23. 23

    열을 기준으로 행렬 정렬

  24. 24

    여러 값을 기준으로 배열 필터링

  25. 25

    특정 문자열 값을 기준으로 문자열 배열 정렬

  26. 26

    값을 기준으로 배열을 여러 배열로 분할-PHP

  27. 27

    한 열을 기준으로 사전 순으로, 다른 열로 숫자로 구분 된 여러 파일 정렬

  28. 28

    Excel : 정렬되지 않은 열을 기준으로 여러 열에 대한 데이터 정렬

  29. 29

    Excel : 정렬되지 않은 열을 기준으로 여러 열에 대한 데이터 정렬

뜨겁다태그

보관