検索

ホームページ  >  に質問  >  本文

各 PhaseId の期間を決定する

次の配列があります:

リーリー

entity_id を使用して各サブ配列を再グループ化しました: リーリー

これは私に出力します:

リーリー

次に、各段階 (記録、承認、履行、受諾、レビュー) の期間を計算する必要があります。

###例えば:###

ログ:

1671011168777 - 1671011166077 = 2700

承認済み: 1671027321749 - 1671011168777 = 16152972

実装: (1671100537178 - 1671100012012) (1671099802675 - 1671027321749) = 73006092

承認済み: (1671101084788 - 1671100537178) (1671099984979 - 1671099802675) = 729914

コメント: 1671100012012 - 1671099984979 = 27033

次を使用して各ステージを解析できました: リーリー

しかし、各ステージの期間を計算する方法がわかりません。

期待される結果は次のとおりです:

リーリー

PHP オンライン: https://onlinephp.io/c/2270e

###作業過程:###

P粉448346289P粉448346289539日前515

全員に返信(2)返信します

  • P粉029327711

    P粉0293277112023-09-09 15:56:38

    このようなことを試してください。

    リーリー ###どうぞ: ### リーリー

    返事
    0
  • P粉587970021

    P粉5879700212023-09-09 00:02:52

    わかりました。思ったより時間がかかりましたが、結果は得られました。最初のコードは次のとおりです:

    リーリー

    参照: https://onlinephp.io/c/92d7f

    ###消す:### リーリー

    次に説明します:

    まず、データ配列が逆さまに見えるので、

    array_reverse()

    を使用して修正しました。ここでの は、論理的な順序があることを前提としています。 複数の期間を追加する必要がある場合があるため、$durations

    という配列を使用してそれらを加算します。

    次に、内側のループで、古いステージ ID がある場合は、期間を計算して合計します。ループの次の反復で必要になるため、最後に古いステージを思い出します。

    また、変数の内容がわかるように、多くの名前を変更しました。

    返事
    0
  • キャンセル返事