php

php array_multisort

닥치고개돌 2020. 8. 31. 15:56
728x90

들어가기전 기본적인 배열 정렬들


sort() - 배열정렬. 1,2,3처럼 오르차순으로 정렬. (ASC)

rsort() - 배열을 역순으로 정렬, reverse의 약자 r. (DESC)
asort() - Associative Arrays([키 => 내용])을 내용 기준으로 오름차순으로 정렬합니다. (ASC)
ksort() - Associative 배열에서 asort가 내용을 기준으로 했다면 ksort는 키 값을 기준으로 정렬. (ASC)

arsort() - Associative 배열에서 내용 기준, 역순으로 정렬합니다. (DESC)
krsort() - Associative 배열에서 키 값 기준, 역순으로 정렬합니다. (DESC)

 

array_multisort()

다차원배열 정렬

 

시간 없는 개발자들을 위해 굵게 쓴 부분만 보면 됩니다~

다차원 배열에서 volume 먼저 정렬하고, 정렬 된 다음 edition 정렬

 

<?php
$data
[] = array('volume' => 67'edition' => 2);
$data[] = array('volume' => 86'edition' => 1);
$data[] = array('volume' => 85'edition' => 6);
$data[] = array('volume' => 98'edition' => 2);
$data[] = array('volume' => 86'edition' => 6);
$data[] = array('volume' => 67'edition' => 7);
?>

 

<?php
// Obtain a list of columns
foreach ($data as $key => $row) {
    
$volume[$key]  = $row['volume'];
    
$edition[$key] = $row['edition'
];
}

// as of PHP 5.5.0 you can use array_column() instead of the above code
$volume  array_column($data'volume');
$edition array_column($data'edition'
);

// Sort the data with volume descending, edition ascending
// Add $data as the last parameter, to sort by the common key
array_multisort($volumeSORT_DESC$editionSORT_ASC$data);
?>

 

volume | edition

 -------+--------

      98 |        2

      86 |        1

      86 |        6

      85 |        6

      67 |        2

      67 |        7

728x90

'php' 카테고리의 다른 글

php-fpm 슬로우로그 찍는법  (0) 2021.01.05
php break, return, exit 구분  (0) 2020.09.03