[解決済み】PHPで多次元配列をソートする方法【重複あり
2022-04-13 12:50:19
質問
多次元配列にCSVデータを読み込ませています。このように、各「quot;row"」はレコードで、各「quot;column"」は同じ種類のデータが入っています。 CSVファイルを読み込むために、以下の関数を使用しています。
function f_parse_csv($file, $longest, $delimiter)
{
$mdarray = array();
$file = fopen($file, "r");
while ($line = fgetcsv($file, $longest, $delimiter))
{
array_push($mdarray, $line);
}
fclose($file);
return $mdarray;
}
ソートする列を指定して、行を並べ替えることができるようにする必要があります。 列の一つには、以下のような形式の日付情報が含まれています。
Y-m-d H:i:s
で、最新の日付が最初の行になるようにソートできるようにしたいです。
解決方法は?
を使用することができます。 array_multisort()
こんな感じで試してみてください。
foreach ($mdarray as $key => $row) {
// replace 0 with the field's index/key
$dates[$key] = $row[0];
}
array_multisort($dates, SORT_DESC, $mdarray);
PHP 5.5.0では、ソートする列を取り出すだけです。 ループは必要ありません。
array_multisort(array_column($mdarray, 0), SORT_DESC, $mdarray);
関連
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] 多次元配列の値によるソート方法
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】phpのob_start()の使い道は?
-
[解決済み】PHP定数「PHP_EOL」はいつ使うの?
-
[解決済み】不明なMySQLサーバーのホスト
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: バインドされた変数の数が102行目のトークンの数と一致しない [終了]
-
[解決済み】phpMyAdmin: シークレットパスフレーズ?
-
[解決済み】PDOException SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリがありません。
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。
-
[解決済み】mysqli::query(): mysqli をフェッチできない
-
[解決済み] mysql_field_nameを新しいmysqliに変更します。
-
[解決済み】PHPで配列やデータをソートするにはどうすればいいですか?