質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

882閲覧

配列を特定のキーの値順で並び替えたい

arasi

総合スコア156

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/07/12 03:08

編集2018/07/12 03:34

phpの配列で特定のキーの大きい順に並び替えるにはどうしたらいいでしょうか?

このデータをuriage_kingaku順に並び替えたい
元データ

Array ( [0][uriage_kingaku] => 0 [uriage_zei] => 0 ) [1] => Array ([uriage_kingaku] => 16066805 [uriage_zei] => 1285344.4 ) [2] => Array ([uriage_kingaku] => 5614953 [uriage_zei] => 449196.24 ) [3] => Array ([uriage_kingaku] => 3249195 [uriage_zei] => 259935.6 ) [4] => Array ([uriage_kingaku] => 6685074 [uriage_zei] => 534805.92 ) [5] => Array ([uriage_kingaku] => 4729711 [uriage_zei] => 378377.68 ) [6] => Array ([uriage_kingaku] => 4931684 [uriage_zei] => 394534.72 ) [7] => Array ([uriage_kingaku] => 0 [uriage_zei] => 0 ) [8] => Array ([uriage_kingaku] => 10220791 [uriage_zei] => 817663.28 ) [9] => Array ([uriage_kingaku] => 9522367 [uriage_zei] => 761789.36 ) [10] => Array ([uriage_kingaku] => 5693308 [uriage_zei] => 455464.64 )
Array ( [0] => Array ([uriage_kingaku] => 16066805 [uriage_zei] => 1285344.4 ) [1] => Array ([uriage_kingaku] => 10220791 [uriage_zei] => 817663.28 ) [2] => Array ([uriage_kingaku] => 9522367 [uriage_zei] => 761789.36 ) [3] => Array ([uriage_kingaku] => 6685074 [uriage_zei] => 534805.92 ) [4] => Array ([uriage_kingaku] => 5693308 [uriage_zei] => 455464.64 ) [5] => Array ([uriage_kingaku] => 5614953 [uriage_zei] => 449196.24 ) [6] => Array ([uriage_kingaku] => 4931684 [uriage_zei] => 394534.72 ) [7] => Array ([uriage_kingaku] => 4729711 [uriage_zei] => 378377.68 ) [8] => Array ([uriage_kingaku] => 3249195 [uriage_zei] => 259935.6 ) [9] => Array ([uriage_kingaku] => 0 [uriage_zei] => 0 ) [10] => Array [uriage_kingaku] => 0 [uriage_zei] => 0 )

配列データ状況が間違えていましたので修正します
$array[0]["uriage_kingaku"][16066805];
$array[1]["uriage_kingaku"][5614953];
$array[2]["uriage_kingaku"][3249195];
$array[3]["uriage_kingaku"][6685074];
$array[4]["uriage_kingaku"][4729711];
$array[5]["uriage_kingaku"][5614953];
$array[6]["uriage_kingaku"][4931684];
$array[7]["uriage_kingaku"][0];
$array[8]["uriage_kingaku"][10220791];
$array[9]["uriage_kingaku"][9522367];
$array[10]["uriage_kingaku"][5693308];

のようなデータ構造になっています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

PHP

1$a=[ 2["uriage_kingaku"=> 0 ,"uriage_zei" => 0], 3["uriage_kingaku"=> 16066805 ,"uriage_zei" => 1285344.4], 4["uriage_kingaku"=> 5614953 ,"uriage_zei" => 449196.24], 5["uriage_kingaku"=> 3249195 ,"uriage_zei" => 259935.6], 6["uriage_kingaku"=> 6685074 ,"uriage_zei" => 534805.92], 7["uriage_kingaku"=> 4729711 ,"uriage_zei" => 378377.68], 8["uriage_kingaku"=> 4931684 ,"uriage_zei" => 394534.72], 9["uriage_kingaku"=> 0 ,"uriage_zei" => 0], 10["uriage_kingaku"=> 10220791 ,"uriage_zei" => 817663.28], 11["uriage_kingaku"=> 9522367 ,"uriage_zei" => 761789.36], 12["uriage_kingaku"=> 5693308 ,"uriage_zei" => 455464.64], 13]; 14usort($a,function($x,$y){ 15 if($x["uriage_kingaku"]==$y["uriage_kingaku"]) return 0; 16 return $x["uriage_kingaku"]<$y["uriage_kingaku"]?1:-1; 17}); 18print_r($a);

投稿2018/07/12 03:28

yambejp

総合スコア114829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

foreach($period as $key=>$value){ $id[$key] = $value['uriage_kingaku']; } array_multisort($id ,SORT_DESC,$period);

投稿2018/07/12 04:44

arasi

総合スコア156

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2018/07/12 09:58

そうやるなら`array_multisort(array_column($array, 'uriage_kingaku'), SORT_ASC, $array)`とも書けます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問