[PHP] 配列に関する関数メモ [3] – 配列の順番を並び替える

前回([PHP] 配列に関する関数メモ [2] – 配列中の順番で値を取得 / 配列から要素を探す)に引き続き、今回は配列の順番を並び変える関数をまとめました。

配列の順番を並び替える

配列の順番を逆転させる – array_reverse()

array_reverse() 関数を使用すると配列の順番を逆転させ、その順番で新しい配列を作ることができます。第二引数に true を指定した場合は、元のキーを維持することができます。

配列 $array_1 の順番を逆転させた $array_2 を作成する。

$array_1 = array( 'a', 'b', 'c', 'd' );
$array_2 = array_reverse( $array_1 );

//↓結果

$array_2 → 
array(4) { 
	[0]=> string(1) "d" 
	[1]=> string(1) "c" 
	[2]=> string(1) "b" 
	[3]=> string(1) "a" 
} 
array_reverse(配列, キーを維持する場合は true)
PHP: array_reverse – Manual

配列の中からランダムな値を取得する – array_rand()

array_rand() 関数を使用すると配列の中からランダムな値を取り出し、そのキーを取得することができます。

配列 $array の中から一つランダムなキーを取得する。

$array = array( 'a', 'b', 'c', 'd' );
$value = array_rand( $array );

//↓結果

$value → int(3) などランダムなキー
array_rand(配列, ランダムに取得したい数)
PHP: array_rand – Manual

配列の順番をランダムに並び替える – shuffle()

shuffle() 関数を使用すると配列の順番をランダムに並び替えることができます。キーは新たに振り直され、もし、配列が連想配列だった場合は数字キーに変更されます。

配列 $array をランダムに並び変える。

$array = array( 'a', 'b', 'c', 'd' );
$value = shuffle( $array );

//↓結果

$value → 成功したら true 失敗したら false
$array → 
array(4) { 
	[0]=> string(1) "c" 
	[1]=> string(1) "d" 
	[2]=> string(1) "a" 
	[3]=> string(1) "b" 
} 
などランダムな順番。
shuffle(配列, ランダムに取得したい数)
PHP: shuffle – Manual

配列の値を元に昇順/降順に並び替える(キーを維持しない) – sort()/rsort()

sort() 関数を使用すると配列の値を元に昇順に並び替えることができます。/ rsort() 関数を使用すると配列の値を元に降順に並び替えることができます。

キーは並び替えられた順に振り直され、もし、配列が連想配列だった場合は数字キーに変更されます。
第二引数に、SORT_NUMERIC を渡すと数値で比較し、SORT_STRING を渡すと文字列で比較します。

配列 $array を昇順(アルファベット順)に並び変える。

$array = array( 'b', 'a', 'd', 'c' );
$value = sort( $array, SORT_STRING );

//↓結果

$value → 成功したら true 失敗したら false
$array → 
array(4) { 
	[0]=> string(1) "a" 
	[1]=> string(1) "b" 
	[2]=> string(1) "c" 
	[3]=> string(1) "d" 
}  
sort(配列, ソートの動作を指定)
PHP: sort – Manual

rsort(配列, ソートの動作を指定)
PHP: rsort – Manual

配列の値を元に昇順/降順に並び替える(キーを維持する) – asort()/arsort()

asort() 関数を使用すると配列の値を元に昇順に並び替えることができます。/ arsort() 関数を使用すると配列の値を元に降順に並び替えることができます。sort()/rsort() 関数と違うのはキーを元のまま値を並び変える点です。
sort()/rsort() 関数と同じく第二引数に、SORT_NUMERIC を渡すと数値で比較し、SORT_STRING を渡すと文字列で比較します。

配列 $array をキーを維持したまま昇順(アルファベット順)に並び変える。

$array = array( 'b', 'a', 'd', 'c' );
$value = asort( $array, SORT_STRING );

//↓結果

$value → 成功したら true 失敗したら false
$array → 
array(4) { 
	[1]=> string(1) "a" 
	[0]=> string(1) "b" 
	[3]=> string(1) "c" 
	[2]=> string(1) "d" 
}  
asort(配列, ソートの動作を指定)
PHP: asort – Manual

arsort(配列, ソートの動作を指定)
PHP: arsort – Manual

配列のキーを元に昇順/降順に並び替える – ksort()/krsort()

ksort() 関数を使用すると配列のキーを元に昇順に並び替えることができます。/ krsort() 関数を使用すると配列のキーを元に降順に並び替えることができます。
sort()/rsort() 関数などと同じく第二引数に、SORT_NUMERIC を渡すと数値で比較し、SORT_STRING を渡すと文字列で比較します。

配列 $array をキーを元に昇順(数字順)に並び変える。

$array = array( 3 => 'a', 2 => 'b', 1 => 'c', 0 => 'd' );
$value = ksort( $array, SORT_NUMERIC );

//↓結果

$value → 成功したら true 失敗したら false
$array → 
array(4) { 
	[0]=> string(1) "d" 
	[1]=> string(1) "c" 
	[2]=> string(1) "b" 
	[3]=> string(1) "a" 
}  
ksort(配列, ソートの動作を指定)
PHP: ksort – Manual

krsort(配列, ソートの動作を指定)
PHP: krsort – Manual

Related Article

1 Comments & Tracbacks

  • Retta 2016-04-30 3:42 PM

    I can’t hear anihtyng over the sound of how awesome this article is.

    Reply

Leave a Comment

Emailは公開されません。*は必須項目です。


*


Categorys

Tags

CSS3 ダッシュボード ヘッダー jQueryプラグイン スライドショー トラブル コードサンプル 素材 コンテンツ Facebook php 引っ越し お知らせ JavaScript カテゴリー Shareボタン CSS IE 投稿タイプ レスポンシブ Photoshop seo Macアプリ サイドバー タクソノミー HTML5 WPセキュリティ Git カスタムメニュー ナビゲーション PHPリファレンス SVG API query_posts RSS WP使い方 iTunes データベース コメント function 条件分岐 get_posts() スマートフォン Sass/Compass moreタグ