コードは次のとおりです: $fruits = array("d" => "lemon", "a" => "orange", "b" => ; "バナナ", "c" => "リンゴ");
asort($fruits);
?>
結果:
配列
'c' =>リンゴ' (長さ=5)
'b' =>
文字列
'バナナ' (長さ=6)
'd' =>
文字列
'レモン' (長さ=5)
'a' =>
string
'orange' (length=6)
----- ----arsort は 2 次元配列の値を降順に並べ替えます (key=>value の関連付けを維持します)-- -------
コードをコピーします
コードは次のとおりです:
< ?php$fruits = array("d" => "lemon", "a" = > "オレンジ", "b" => "バナナ", "c" => "リンゴ"); arsort($fruits);var_dump($fruits);
?>
結果
'a' =>
文字列
'オレンジ' (長さ=6)
'd' =>
文字列
'レモン' (長さ=5)
'b' =>
文字列
'バナナ' (長さ=6) =6)
'c' =>
string
'apple' (length=5)
--- ------------------ksort は配列をソートしますキーの昇順 ---------------
コードをコピー
コードは次のとおりです:
$fruits = array(" d"=>"レモン"、"a"=>"オレンジ"、"b"=>"バナナ"、"c"=>"リンゴ");ksort($fruits);var_dump( $fruits);?>結果
配列
'a' =>
文字列
'オレンジ' (長さ=6)
'b' => ;
文字列
'バナナ' (長さ=6)
' c' =>
文字列
'リンゴ' (長さ=5)
'd' =>
文字列
'レモン' (長さ=5)
----------- ------------krsort は配列キーを降順にソートします--------- ---
コード
コードは次のとおりです:
$fruits = array("d"=>"レモン", "a"=>"オレンジ", "b"=>"バナナ", "c"=>"リンゴ");
krsort($fruits);
var_dump($fruits);
?>
配列
'd' =>
文字列
'レモン' (長さ=5)
'c' =>
文字列
'リンゴ' (長さ=5)
'b' =>
文字列
'バナナ' (長さ=6)
'a' =>
文字列
'オレンジ' (長さ=6)
- ----------usort 関数はユーザー定義関数に従ってソートします--------------
コードをコピー コード以下の通り:
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? - 1 : 1;
}
$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");
var_dump($a);
?>
結果:
配列
1
1 =>
int
3
3 =>
int
4 =>
6
- ----------------uksort はカスタム関数を使用して配列をキーで並べ替えます-----------------
コードをコピーします
コードは次のとおりです:
function cmp($a, $b){ $a = preg_replace('@^(a|an|the) @', '' , $a); $b = preg_replace('@^(a|an|the) @', '', $b); return strcasecmp($a, $b); $array = array('a' => 4, 'b) ' => 8、'c' => -9、'f' => 3、'h' ' => -4);
var_dump($array);
// 結果の配列を並べ替えて出力します
uasort($array, 'cmp');
var_dump($array);
?>
Result :
配列
'a' =>
int
4
'b' =>
int
8
'c' => int
-9
'e' => 2
'f' =>
int
5
'g' =>
int
3
'h' =>
int
-4
array
'd' =>
-9
'h' =>
int
-4
'c' =>
int
2
'g' => 'a' = >
int
4
'f' =>
int
5
'b' =>
int
8
----------------array_multisort 複数の配列または多次元配列をソートします----------
コードをコピー
コードは次のとおりです:
$ar = array(
array("10", 11, 100, 100, "a"),
array( 1, 2, "2", 3, 1)
);
array_multisort($ar[0], SORT_ASC, SORT_STRING,
$ar[1], IC, SORT_DESC);
var_dump($ar);
?>
Result:
Array => 100〜3 =&gt&gt;
1
1 =>
int
3
2 => ;
string
'2' (length=1)
3 =>
int
2
4 => ] 文字列値は昇順に並べ替えられます文字列値が等しい場合、$ar[1] 配列の数値に従って降順に並べ替えられます。
2 array_multisort 関数の任意の位置のパラメータが配列の場合、それは並べ替えに使用される値を表します。
複数の配列パラメータがある場合、
などの定数の場合は、前の配列の値が最初に並べ替えられます。 SORT_ASC、SORT_DESC、SORT_REGULAR、SORT_NUMERIC、SORT_STRING.
はソート方法を示します(配列値が最初に取得されます)。
================================================ === =========================================
PHP 二次元配列ソート関数
PHPの1次元配列はsort()、asort()、arsort()などの関数を使用してソートできますが、PHPの2次元配列のソートはカスタマイズする必要があります。
次の関数は、指定されたキー値に従って指定された 2 次元配列を並べ替えます。まず関数の定義を見てみましょう:
コードをコピーします
コードは次のとおりです:
function array_sort($arr, $keys,$type ='asc'){
$keysvalue = $new_array = array();
foreach ($arr as $k=>$v){
$keysvalue[$k] = $v[$keys ];
}
if($type == 'asc'){
asort($keysvalue);
}else{
arsort($keysvalue);
}
reset($keysvalue);
foreach ($keysvalue を $ k=>$ v){
$new_array[$k] = $arr[$k];
}
return $new_array;
}指定されたキー値に従って 2 次元配列をソートできます。昇順または降順も指定できます。 並べ替え方法 (デフォルトは昇順)、使用例:
コードをコピー
コードは次のとおりです:
$array = array(
array('name'=>) ;'携帯電話','ブランド'=>'ノキア','価格'=>1050),
array('名前'=>'ラップトップ','ブランド'=>'レノボ','価格'=>4300),
array('name'=>'カミソリ','brand'=>'フィリップス','価格'=>3100),
array('name'=>'トレッドミル','ブランド'=>'三和松史','価格'=>4900),
array('名前'=>'時計','ブランド'=>'カシオ','価格'=> ;960),
array(' name'=>'LCD TV','brand'=>'Sony','price'=>6299),
array('name'=>'レーザー プリンター' ,'brand'=>' HP','price'=>1200)
);
$ShoppingList = array_sort($array,'price');
print_r($ShoppingList);
上記は$array の 2 次元配列を 'price' に従って並べ替えます。
出力結果:(省略)。
http://www.bkjia.com/PHPjc/327874.htmlwww.bkjia.comtrue
http://www.bkjia.com/PHPjc/327874.html
技術記事
以下で説明するいくつかの配列関数のソートにはいくつかの共通点があります。 1. 配列はソート関数のパラメーターとして使用され、ソート後に配列自体が変更され、関数の戻り値は bool 型になります。 ...