ホームページ バックエンド開発 PHPチュートリアル PHPを使用して、キー名を保持しながら配列内のタイムスタンプをソートするにはどうすればよいですか?

PHPを使用して、キー名を保持しながら配列内のタイムスタンプをソートするにはどうすればよいですか?

May 03, 2024 pm 10:36 PM
タイムスタンプ 選別

uasort() 関数を使用して、キー名を保持したまま配列を並べ替えることができます。タイムスタンプに基づいて並べ替えるには、要素内のタイムスタンプ フィールドを比較するカスタム比較関数 Compare_timestamps を使用できます。実際の場合、この比較関数は、キー名を保持しながら配列内のタイムスタンプを並べ替え、並べ替えられた配列を小さい順に出力するために使用されます。

如何使用 PHP 对数组中的时间戳进行排序,保留键名?

キー名を保持したまま、PHP で配列をタイムスタンプで並べ替える

PHP では、 uasort( ) この関数は、キー名を保持したまま配列をソートします。これは、配列を並べ替える構文です。

uasort($array, $sort_function);
ログイン後にコピー

ここで、$array は並べ替える配列、$sort_function はユーザー定義の比較関数です。

並べ替え比較関数

並べ替え比較関数は、特定の形式に従う必要があります:

function sort_function(mixed $a, mixed $b): int
ログイン後にコピー

2 つのパラメーター $a# を受け入れる必要があります。 # # および $b、これらのパラメータは比較される配列要素を表します。関数は次の値を返す必要があります:

  • -1: $a が $b の前に来る必要がある場合。
  • 0: $a と $b が等しい場合。
  • 1: $a が $b の後に来る必要がある場合。

タイムスタンプに基づいて並べ替える

タイムスタンプに基づいて配列を並べ替えるには、次の並べ替え比較関数を使用できます:

function compare_timestamps(mixed $a, mixed $b): int
{
    return $a['timestamp'] - $b['timestamp'];
}
ログイン後にコピー

Thisこの関数は、配列要素の

timestamp フィールドを比較し、要素を順番に配置するための適切な値を返します。

実際的なケース

次に、並べ替え関数を使用して配列内のタイムスタンプを並べ替える実際的なケースを示します:

$array = [
    'item1' => ['timestamp' => 1593475200],
    'item2' => ['timestamp' => 1601260800],
    'item3' => ['timestamp' => 1584230400],
];

uasort($array, 'compare_timestamps');

print_r($array);
ログイン後にコピー

出力:

Array
(
    [item3] => Array
        (
            [timestamp] => 1584230400
        )

    [item1] => Array
        (
            [timestamp] => 1593475200
        )

    [item2] => Array
        (
            [timestamp] => 1601260800
        )
)
ログイン後にコピー
ご覧のとおり、配列はキー名を保持しながらタイムスタンプ順にソートされています。

以上がPHPを使用して、キー名を保持しながら配列内のタイムスタンプをソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11/10で写真を撮影日ごとに並べ替える方法 Windows 11/10で写真を撮影日ごとに並べ替える方法 Feb 19, 2024 pm 08:45 PM

Windows 11/10で写真を撮影日ごとに並べ替える方法

Outlook でメールを送信者、件名、日付、カテゴリ、サイズで並べ替える方法 Outlook でメールを送信者、件名、日付、カテゴリ、サイズで並べ替える方法 Feb 19, 2024 am 10:48 AM

Outlook でメールを送信者、件名、日付、カテゴリ、サイズで並べ替える方法

PHP 開発: テーブル データのソート機能とページング機能を実装する方法 PHP 開発: テーブル データのソート機能とページング機能を実装する方法 Sep 20, 2023 am 11:28 AM

PHP 開発: テーブル データのソート機能とページング機能を実装する方法

Golang の時間処理: Golang でタイムスタンプを文字列に変換する方法 Golang の時間処理: Golang でタイムスタンプを文字列に変換する方法 Feb 24, 2024 pm 10:42 PM

Golang の時間処理: Golang でタイムスタンプを文字列に変換する方法

エクセルで並べ替える方法 エクセルで並べ替える方法 Mar 05, 2024 pm 04:12 PM

エクセルで並べ替える方法

WPS スコアを並べ替える方法 WPS スコアを並べ替える方法 Mar 20, 2024 am 11:28 AM

WPS スコアを並べ替える方法

Power Query で複数の列をドラッグ アンド ドロップで並べ替える方法 Power Query で複数の列をドラッグ アンド ドロップで並べ替える方法 Mar 14, 2024 am 10:55 AM

Power Query で複数の列をドラッグ アンド ドロップで並べ替える方法

Vue を使用してドラッグ アンド ドロップの並べ替え効果を実装する方法 Vue を使用してドラッグ アンド ドロップの並べ替え効果を実装する方法 Sep 20, 2023 pm 03:01 PM

Vue を使用してドラッグ アンド ドロップの並べ替え効果を実装する方法

See all articles