SYNCERのロゴ
アイキャッチ画像

配列を数値順に並び替える方法

配列を数値で並び替えるには、sort()やarray_multisort()を利用します。

サンプルコード

SORT_ASC(昇順)、SORT_DESC(降順)を目的で使い分けて下さい。元の配列が変更されます。

一次元配列

<?php
	$array = [ 5, 1, 3, 2 ] ;

	sort( $array, SORT_ASC ) ;

多次元配列

array_column()の引数に、対象のキー名を指定します。

<?php
	$array = [
		[
				"A" => 4,
				"B" => "hoge" ,
		] ,
		[
				"A" => 1,
				"B" => "fuga" ,
		] ,
		[
				"A" => 2,
				"B" => "piyo" ,
		] ,
	] ;

	array_multisort( array_column( $array, "A" ), SORT_ASC, $array ) ;

デモ

一次元配列の場合

昇順

<?php
/*** このコードは編集できます。 ***/

	$array = [ 5, 1, 3, 2 ] ;

	sort( $array, SORT_ASC ) ;

	var_dump( $array ) ;
array(4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(5)
}

降順

<?php
/*** このコードは編集できます。 ***/

	$array = [ 5, 1, 3, 2 ] ;

	sort( $array, SORT_DESC ) ;

	var_dump( $array ) ;
array(4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(5)
}

多次元配列の場合

昇順

<?php
/*** このコードは編集できます。 ***/

	$array = [
		[
				"A" => 4,
				"B" => "hoge" ,
		] ,
		[
				"A" => 1,
				"B" => "fuga" ,
		] ,
		[
				"A" => 3,
				"B" => "piyo" ,
		] ,
	] ;

	array_multisort( array_column( $array, "A" ), SORT_ASC, $array ) ;

	var_dump( $array ) ;
array(3) {
  [0]=>
  array(2) {
    ["A"]=>
    int(1)
    ["B"]=>
    string(4) "fuga"
  }
  [1]=>
  array(2) {
    ["A"]=>
    int(3)
    ["B"]=>
    string(4) "piyo"
  }
  [2]=>
  array(2) {
    ["A"]=>
    int(4)
    ["B"]=>
    string(4) "hoge"
  }
}

降順

<?php
/*** このコードは編集できます。 ***/

	$array = [
		[
				"A" => 4,
				"B" => "hoge" ,
		] ,
		[
				"A" => 1,
				"B" => "fuga" ,
		] ,
		[
				"A" => 3,
				"B" => "piyo" ,
		] ,
	] ;

	array_multisort( array_column( $array, "A" ), SORT_DESC, $array ) ;

	var_dump( $array ) ;
array(3) {
  [0]=>
  array(2) {
    ["A"]=>
    int(4)
    ["B"]=>
    string(4) "hoge"
  }
  [1]=>
  array(2) {
    ["A"]=>
    int(3)
    ["B"]=>
    string(4) "piyo"
  }
  [2]=>
  array(2) {
    ["A"]=>
    int(1)
    ["B"]=>
    string(4) "fuga"
  }
}
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年6月22日 (木)
コンテンツを公開しました。